如果一个进程用于初始化一个变量而另一个进程使用该变量
流程如下同步:
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只能使用一次。
答案 0 :(得分:1)
我认为发出信号量的信号是错误的,因为它没有对你做任何好处,并且将变量返回到初始状态总是更好,如果这种情况为零则为零我没错。