A multiprocessor system (100) for sharing memory has a memory (102), and
two or more processors (104). The processors are programmed to establish
(202) memory buffer pools between the processors, and for each memory
buffer pool, establish (204) an array of buffer pointers that point to
corresponding memory buffers. The processors are further programmed to,
for each array of buffer pointers, establish (206) a consumption pointer
for the processor owning the memory buffer pool, and a release pointer
for another processor sharing said memory buffer pool, each pointer
initially pointing to a predetermined location of the array, and adjust
(208-236) the consumption and release pointers according to buffers
consumed and released.