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

信号量上的PV操作

时间:2014-09-09 15:57:28      阅读:304      评论:0      收藏:0      [点我收藏+]

标签:http   使用   strong   div   问题   sp   on   c   工作   

---恢复内容开始---

进程通常分为就绪、运行和阻塞三个工作状态。三种状态在某些条件下可以转换,三者之间的转换关系如下:

bubuko.com,布布扣

 

进程三个状态之间的转换就是靠PV操作来控制的。PV操作主要就是P操作、V操作和信号量。其中信号量起到了至关重要的作用。

 

信号量


信号量是最早出现的用来解决进程同步与互斥问题的机制。 

信号量(Saphore)由一个值和一个指针组成,指针指向等待该信号量的进程。信号量的值表示相应资源的使用情况。信号量S>=0时,S表示可用资源的数量。执行一次P操作意味着请求分配一个资源,因此S的值减1;当S<0时,表示已经没有可用资源,S的绝对值表示当前等待该资源的进程数。请求者必须等待其他进程释放该类资源,才能继续运行。而执行一个V操作意味着释放一个资源,因此S的值加1;若S<0,表示有某些进程正在等待该资源,因此要唤醒一个等待状态的进程,使之运行下去。

 

注意,信号量的值只能由PV操作来改变。

  

---恢复内容结束---

信号量上的PV操作

标签:http   使用   strong   div   问题   sp   on   c   工作   

原文地址:http://www.cnblogs.com/summer-2014/p/3962666.html

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