pipeline
advantage
- Pipeline files do not take up disk space, allocated space in memory when you open the pipeline;
- Read into the pipe end automatically blocked in the pipe after the data has been read until the end of the write data is written again;
Shortcoming
- Pipe is half-duplex, data can only flow from one direction;
- Duct size PIPE_SIZE limited to 64K;
Shared memory
advantage
- Shared memory is the fastest the IPC, because the client and server share a given storage area is not required between the copy;
- Shared memory allows multiple processes to share a storage space;
- Shared memory size is no upper limit, there is no way of limitation;
Shortcoming
- Shared memory does not provide a synchronization mechanism, need semaphores to synchronize multiple processes simultaneously access the space;
message queue
advantage
- Message Queuing independent of the process outside the process exits after the data still exists in the queue;
- Message Queuing provides type field, different processes may be the type of message field of the received message;
Shortcoming
- Linux is a maximum number of bytes in the message queue for the 16k, the presence of up to 16 message queue system;
- The message queue is not set in the reference counter, still use the delete queue process errors will occur at the next exit queue operation after a message queue;
- Message Queuing need to manually remove after use;