Shared Memory Paradigms
The concept of shared memory is a useful way to separate program control flow issues from issues of data mapping, communication, and synchronization.
Processes cooperate through a shared memory space where shared variables are stored.
The actual process of communication is thus straightforward. What is difficult is detecting when it is safe either to put a value into the location or to remove it.