保持二进制信号量被锁定

时间:2016-07-08 00:17:59

标签: semaphore

如果一个进程用于初始化一个变量而另一个进程使用该变量

流程如下同步:

Binary_semaphore s=0;

p1() {
      int x =1 ;
      semaphore_signal_B (s);
}

p2() {
      semaphore_wait_B (s);

      int y =x+1 ;
      semaphore_signal_B (s); //<---- this line
} 

p2中的最后一行是否必要?知道p1,p2和s只能使用一次。

1 个答案:

答案 0 :(得分:1)

我认为发出信号量的信号是错误的,因为它没有对你做任何好处,并且将变量返回到初始状态总是更好,如果这种情况为零则为零我没错。