第06章进程同步20121116更新例子程序ch6进程同步(1033KB).pptVIP

  • 4
  • 0
  • 约1.45万字
  • 约 47页
  • 2018-04-09 发布于广东
  • 举报

第06章进程同步20121116更新例子程序ch6进程同步(1033KB).ppt

6.3 临界区问题解决方法 6.3.4 信号量方法 信号量的概念: V操作: V操作记为V(s),其中s为一信号量,它执行时,主要完成 以下动作: s.value = s.value + 1;/*可理解为归还1个资源,若原来就没 有则意义是用此资源还1个欠帐*/ 若s.value 0,则进程继续执行; 否则(即s.value ≤ 0),则从信号量s的等待队s.queue中 移出第一个进程,使其变为就绪状态,然后返回原进程继 续执行 说明:实际上,V操作可以理解为归还资源的计数器; 或是唤醒进程使其处于就绪状态的控制指令 信号量 vs. 锁 信号量是一个一般的锁… 锁: {0,1} 信号量: {-?, … , -2, -1, 0, 1, 2, … , ?} 信号量即信号的数量,唤醒实际上就是发一个信号 开锁动作也是发一个信号 信号量:一个伟大的概念 可以用来实现互斥 可以记录睡眠操作的次数(s.value > 0) 可以记录资源个数(s.value ≥ 0) 可以记录等待进程个数(|s.value| ,s.value < 0) 可以用来实现复杂的进程间同步关系 6.3 临界区问题解决方法 6.3.4

文档评论(0)

1亿VIP精品文档

相关文档