当前位置: 代码迷 >> 综合 >> semaphore---Dijkstra
  详细解决方案

semaphore---Dijkstra

热度:8   发布时间:2023-12-22 16:29:24.0

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

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

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

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

  相关解决方案