进程间的mutex

设两个进程共用一个临界资源的互斥信号量mutex=1,当mutex=-1时表示()。
  • 一个进程进入了临界区,另一个进程等待
  • 没有一个进程进入临界区
  • 两个进程都进入临界区
  • 两个进程都在等待
互斥信号量不采用自旋锁的方式实现,mutex初始值为1,当一个准备进入临界区时,mutex - 1 = 0,该进程进入临界区;
另一个进程准备进入临界区时,mutex - 1 = -1,mutex < 0时将该进程挂起到mutex的列表中,等待被唤醒。
因此一个进程已经进入临界区,另一个进程在等待。
 
 

对于两个并发进程,设互斥信号量为mutex,若mutex=0,则

  • 表示没有进程进入临界区
  • 表示有一个进程进入临界区
  • 表示有一个进程进入临界区,另一个进程等待进入
  • 表示有两个进程进入临界区

解析:本题考查互斥信号量的性质,mutex初值为1,表示允许一个进程进入临界资源,当由一个进程进入临界区且没有进程等待进入时,mutex减1,变为0,|mutex|为等待进入的进程数。就此题而言,当mutex=1时表示没有进程进入临界区;当mutex=-1时表示有一个进程进入临界区,另一个进程等待进入,答案选B。

猜你喜欢

转载自www.cnblogs.com/Stephen-Qin/p/11973819.html