Just to be clear IPC means inter process communication.
The process communication in this case refers to how the kernel views a process.
A process uses isolated memory. So processes cannot directly communicate with each other (at least the should not).
People often tend to confuse threads with processes or threading models with threads.
1 Process can have in theory unlimited threads, threads can communicate with each other since they can gain access to the starting process memory (in theory) so they have an implicit shared memory model.
So to share data between Processes however is something different. We can use a message queue where both processes have access to the API (not REST, API in the original meaning).
Process A -> writes to message queue
Process B -> reads from message queue
j
stuff ;)
Just to be clear IPC means inter process communication.
The process communication in this case refers to how the kernel views a process. A process uses isolated memory. So processes cannot directly communicate with each other (at least the should not).
People often tend to confuse threads with processes or threading models with threads.
1 Process can have in theory unlimited threads, threads can communicate with each other since they can gain access to the starting process memory (in theory) so they have an implicit shared memory model.
So to share data between Processes however is something different. We can use a message queue where both processes have access to the API (not REST, API in the original meaning).
Process A -> writes to message queue Process B -> reads from message queue
IPC just describes the way the queue works it allows you to reduce overhead by not needing to many protocol translations between the datasets.
That's the basic explanation. The details and use cases can be elaborated in detail.