进程间通信(消息队列, 信号量)
Posted 李憨憨_
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进程间通信(消息队列, 信号量)相关的知识,希望对你有一定的参考价值。
消息队列, 信号量
一、消息队列
消息队列: 实际上就是一个内核中的优先级队列.通信原理: 在内核中创建一个优先级队列, 多个进程通过对同一个队列添加或者获取节点实现数据通信
特性: 1.自带同步与互斥;
2.生命周期随内核
二、信号量
本质: 就是一个内核中的计数器+pcb等待队列, 用于实现进程间的同步与互斥原理: 对资源进行计数, 在进程获取资源之前先通过计数判断获取是否合理, 不合理则阻塞等待. 直到条件满足后唤醒阻塞的进程.
P操作: 计数-1, 判断访问是否合理, 不合理则阻塞, 合理则正确返回
V操作: 计数+1, 唤醒阻塞进程
同步的实现: 获取资源前进行P操作, 合理则获取, 不合理则阻塞, 产生一个资源则进行一次V操作.
互斥的实现: 计数最大为1, 表示只有一个资源, 访问前P操作, 访问完毕V操作
以上是关于进程间通信(消息队列, 信号量)的主要内容,如果未能解决你的问题,请参考以下文章