semaphore---Dijkstra

来源:互联网 发布:淘宝买家号开店 编辑:程序博客网 时间:2024/05/23 10:25

信号量又称信号灯,是用来协调不同进程间的数据对象。本质上是一个计数器,用来记录对某个资源的使用情况。信号量是一个特殊的变量,只有两个操作可以改变其值:wait signal.

在Linux中用P(wait)、V(signal)表示。passenren、vrjeven(荷兰语)。

P操作负责把当前进程由运行状态转换成阻塞状态,直到另一个进程唤醒他。具体操作为:申请一个空白资源(信号量减一),成功则继续,失败则阻塞。

V操作负责把一个被阻塞的进程唤醒,他有一个参数表,存放着等待被唤醒的进程信息。具体操作:释放一个被占的资源(信号量减一),如果有阻塞的进程则选择释放一个。

0 0
原创粉丝点击