Message Queue and shared memory are used to share data between 2 processes. Message queue requires data to be shared in specific format. ... But shared memory requires part of segment is shared between 2 processes, both can do some synchronization technique and share the data between processes.