码迷,mamicode.com
首页 > 其他好文 > 详细

信号量

时间:2014-12-16 22:23:35      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:使用   sp   strong   on   问题   bs   nbsp   没有   实例   

                 信号量的取值可以为0(表示没有保存下来的唤醒操作),可以为正值(表示有一个或者多个唤醒操作)。

      两个操作:down操作:若该值大于0,将其值减1(即用掉一个保存的唤醒信号);若该值为0,则进程将睡眠,并且down操作并未结束!检查数值,修改变量值以及可能发生的睡眠操作均作为一个单一的,不可分割的原子操作完成。保证一旦一个信号量操作开始,则在该操作完成或者阻塞之前,其他进程均不允许访问该信号量。所谓原子操作,是指一组相关联的操作要么都不间断地执行,要么都不执行

      Dijkstra原来的论文中,他分别使用名称是P和V而不是down和up

       信号量的实例:

      用信号量解决生产者-消费者问题

信号量

标签:使用   sp   strong   on   问题   bs   nbsp   没有   实例   

原文地址:http://www.cnblogs.com/lovejin/p/4168084.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!