信号量的概念 | 您所在的位置:网站首页 › 信号量的定义和作用 › 信号量的概念 |
信号量是由荷兰科学家Dijkstra提出的,是一种卓有成效的进程同步机制。
信号量的定义 信号量是一个记录型数据结构,包含信号量值和一个等待队列,其中信号量值是一个具有非负初值的整型变量,等待队列是一个初始状态为空的队列。又称信号灯。 除信号量的初值外,信号量的值仅能由P操作(又称为wait操作)和V操作(又称为signal操作)改变。 信号量的物理含义 信号量中的整型变量S表示系统中某类资源的数目。 当其值大于0时,表示系统中当前可用资源的数目; 当其值小于0时,其绝对值表示系统中因请求该类资源而被阻塞的进程数目。 P操作 设S为一个信号量,P(S)执行时主要完成下述动作: S=S-1; if(S< 0) {设置进程状态为等待; 将进程放入信号量等待队列; 转调度程序;} V操作 V(S)执行时主要完成下述动作: S=S+1; if(S≤0){将信号量等待队列中的第一个进程移出; 设置其状态为就绪状态并插入就绪队列; 然后再返回原进程继 |
CopyRight 2018-2019 实验室设备网 版权所有 |