当前位置:网站首页>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
边栏推荐
- Oil monkey website address
- I / O multiplexing and its related details
- 消费者灰度实现思路
- I/O多路复用及其相关详解
- 2022江西储能技术展会,中国电池展,动力电池展,燃料电池展
- 2022 judgment questions and answers for operation of refrigeration and air conditioning equipment
- journal
- idea中安装YapiUpload 插件将api接口上传到yapi文档上
- Qtablewidget usage explanation
- How to install jsonpath package
猜你喜欢

Anchor location - how to set the distance between the anchor and the top of the page. The anchor is located and offset from the top

Implementation of object detection case based on SSD

极致体验,揭晓抖音背后的音视频技术

QTableWidget使用讲解

Clion installation tutorial

Re regular expression
![Click Cancel to return to the previous page and modify the parameter value of the previous page, let pages = getcurrentpages() let prevpage = pages [pages. Length - 2] / / the data of the previous pag](/img/ed/4d61ce34f830209f5adbddf9165676.png)
Click Cancel to return to the previous page and modify the parameter value of the previous page, let pages = getcurrentpages() let prevpage = pages [pages. Length - 2] / / the data of the previous pag

Docker 安裝 Redis

String function in MySQL

Go语言JSON包使用
随机推荐
ES6 face test questions (reference documents)
读取excel,int 数字时间转时间
纳米技术+AI赋能蛋白质组学|珞米生命科技完成近千万美元融资
Process management command
Installation du docker redis
C1小笔记【任务训练篇二】
Halo open source project learning (II): entity classes and data tables
2022 judgment questions and answers for operation of refrigeration and air conditioning equipment
Secure credit
[UDS unified diagnostic service] (Supplement) v. detailed explanation of ECU bootloader development points (2)
Crawl the product data of cicada mother data platform
cartographer_ There is no problem compiling node, but running the bug that hangs directly
An example of linear regression based on tensorflow
Queue solving Joseph problem
Transfer learning of five categories of pictures based on VGg
2022江西光伏展,中國分布式光伏展會,南昌太陽能利用展
Eigen learning summary
I/O多路复用及其相关详解
Scikit learn sklearn 0.18 official document Chinese version
Crawling mobile game website game details and comments (MQ + multithreading)