* * * Shared storage: storage space that multiple processes can mutually exclusive access, which can be based on data structures (such as arrays) or storage areas.
Message Queuing: Deliver structured messages. Each process has a message buffer queue, very similar to a mailbox. When process A communicates with process B, it can send messages to the message buffer queue of process A. ..
Semaphore: It is mainly used to control the access of multiple processes to * * * resources. It is mainly used as a means of synchronization between processes and between different threads in the same process. Semaphores include shaping and recording semaphores. The shaping semaphore does not conform to the principle of "yield waiting", while the recording semaphore has block and weakup primitives, which can realize yield waiting.
Socket:
Different from other communication mechanisms, it can be used for process communication between different machines.
The communication between threads is not as complicated as that between processes, because the thread resources of the same process are basically the same, and their communication purpose is mainly for thread synchronization and mutually exclusive access to a certain resource, so threads have no communication mechanism for data exchange as in process communication.