How to inter process communication
Posted on 14 Ekim 2015 in Programlama by admin
https://en.wikipedia.org/wiki/Inter-process_communication
File | A record stored on disk, or a record synthesized on demand by a file server, which can be accessed by multiple processes. | Most operating systems |
Signal | A system message sent from one process to another, not usually used to transfer data but instead used to remotely command the partnered process. | Most operating systems |
Socket | A data stream sent over a network interface, either to a different process on the same computer or to another computer on the network. | Most operating systems |
Message queue | An anonymous data stream similar to a socket, usually implemented by the operating system, that allows multiple processes to read and write to the message queue without being directly connected to each other. | Most operating systems |
Pipe | A two-way data stream between two processes interfaced through standard input and output and read in one character at a time. | All POSIX systems, Windows |
Named pipe | A pipe implemented through a file on the file system instead of standard input and output. Multiple processes can read and write to the file as a buffer for IPC data. | All POSIX systems, Windows |
Semaphore | A simple structure that synchronizes multiple processes acting on shared resources. | All POSIX systems, Windows |
Shared memory | Multiple processes are given access to the same block of memory which creates a shared buffer for the processes to communicate with each other. | All POSIX systems, Windows |
Message passing | Allows multiple programs to communicate using channels, commonly used in concurrency models. | Used in MPI paradigm, Java RMI, CORBA, DDS, MSMQ, MailSlots, QNX, others |
Memory-mapped file | A file mapped to RAM and can be modified by changing memory addresses directly instead of outputting to a stream. This shares the same benefits as a standard file. | All POSIX systems, Windows |