Methods, systems, and articles of manufacture consistent with the present
invention coordinate distribution of shared memory to threads of control
executing in a program by using a cooperative synchronization protocol.
The protocol serializes access to memory by competing threads requesting
assignment of memory space, while allowing competing threads that have
already been assigned memory space, to share access to the memory. A
designated area of memory assigns the memory to requesting threads. The
protocol is an application level entity and therefore does access the
operating system to serialize the memory allocation process.