进程中P操作和V操作都什么作用啊
答案:2 悬赏:10 手机版
解决时间 2021-04-05 10:15
- 提问者网友:战魂
- 2021-04-04 10:36
还有什么情况下要同步并互斥啊
最佳答案
- 五星知识达人网友:舍身薄凉客
- 2021-04-04 11:55
P操作是阻塞作用 V操作是唤醒作用
全部回答
- 1楼网友:一叶十三刺
- 2021-04-04 12:34
p(s):①将信号量s的值减1,即s=s-1; ②如果s>=0,则该进程继续执行;否则该进程置为等待状态,排入等待队列。 v(s):①将信号量s的值加1,即s=s+1; ②如果s>0,则该进程继续执行;否则释放队列中第一个等待信号量的进程。 pv操作的意义:我们用信号量及pv操作来实现进程的同步和互斥。pv操作属于进程的低级通信。 什么是信号量?信号量(semaphore)的数据结构为一个值和一个指针,指针指向等待该信号量的下一个进程。信号量的值与相应资源的使用情况有关。当它的值大于0时,表示当前可用资源的数量;当它的值小于0时,其绝对值表示等待使用该资源的进程个数。注意,信号量的值仅能由pv操作来改变。 一般来说,信号量s>=0时,s表示可用资源的数量。执行一次p操作意味着请求分配一个单位资源,因此s的值减1; 当s<0时,表示已经没有可用资源,请求者必须等待别的进程释放该类资源,它才能运行下去。而执行一个v操作意味着释放一个单位资源,因此s的值加1; 若s<=0,表示有某些进程正在等待该资源,因此要唤醒一个等待状态的进程,使之运行下去。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯