爱问知识人 爱问教育 医院库

如何用PV操作解决同步和互?

首页

如何用PV操作解决同步和互?

P原语和V原语的含义,如何用PV操作解决同步和互斥

提交回答

全部答案

    2018-03-28 20:59:09
  •   原语为释放资源  pv操作必须成对出现    通过对信号量的互斥修改    信号量为s,当需要进行互斥的时候s 初值为1(也不是绝对的,但是这个是通常情况)    p操作就是  s-1  如果s>= 0 就使用资源  否则就挂起等待    v操作就是s 1  如果s<=0就唤醒一个正在等待的进程  否则什么都不做    通常临界量的代码都是这样的(互斥)  s = 1    进程1:  p(s)  临界代码  v(s)    进程2:  p(s)  临界代码  v(s)    可以看出来,当又一个进程占领资源的时候,另一个进程被挂起,是不可以访问资源的,完成了互斥    而实现同步的代码是  先设s= 0;(同步信号量)  s' = 1;(互斥信号量)  进程1:  p(s')  临界代码  v(s)    进程2:    p(s)  临界代码  v(s')    可以看到,在第一个进程准备完成之前第二个进程无法使用资源,而在第一个进程准备完成之后,第二个进程消耗掉第一个进程的资源之前,第一个进程也不能再生产资源。
      

    岗***

    2018-03-28 20:59:09

类似问题

换一换

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):