当前位置:网站首页>Mode of interprocess communication

Mode of interprocess communication

2022-04-23 18:03:00 OceanKeeper1215

The ways of inter process communication are :

One 、 The Conduit

The Conduit , Usually refers to the unnamed pipe , yes UNIX System IPC The oldest form .

characteristic :

It's half duplex ( That is, data can only flow in one direction ), It has fixed read end and write end .

It can only be used for communication between related processes ( It's also between parent-child processes or sibling processes ).

It can be seen as a special document , For its reading and writing, you can also use ordinary read、write Such as function . But it's not a normal document , It doesn't belong to any other file system , And it only exists in memory .

Two 、FIFO

FIFO, Also called named pipe , It's a file type .

1、 characteristic

FIFO Data can be exchanged between unrelated processes , It's different from anonymous pipes .

FIFO There is a pathname associated with it , It exists in the file system as a special device file .

3、 ... and 、 Message queue

Message queue , It's a linked list of messages , Stored in the kernel . A message queue consists of an identifier ( That's the queue ID) To mark .

characteristic

Message queuing is record oriented , The message has a specific format and a specific priority .

Message queuing is independent of the sending and receiving processes . When the process terminates , Message queues and their contents are not deleted .

Message queue can realize random query of messages , Messages don't have to be read in first in first out order , It can also be read by the type of message .

Four 、 Semaphore

Semaphore (semaphore) With what has been introduced IPC Different structure , It's a counter . Semaphores are used to achieve mutual exclusion and synchronization between processes , Instead of storing interprocess communication data .

characteristic

Semaphores are used for inter process synchronization , To transfer data between processes, you need to combine shared memory .

Semaphores are based on the PV operation , The operation of the program on semaphores is atomic operation .

Every time the semaphore is PV The operation is not limited to adding... To the semaphore value 1 Or minus 1, And you can add and subtract any positive integer .

Support semaphore group .

5、 ... and 、 Shared memory

Shared memory (Shared Memory), Refers to two or more processes sharing a given store .

characteristic

Shared memory is the fastest IPC, Because processes access memory directly .

Because multiple processes can operate at the same time , So you need to synchronize .

Semaphore + Shared memory is usually used in combination , Semaphores are used to synchronize access to shared memory .

版权声明
本文为[OceanKeeper1215]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204230545105007.html