これは、セマフォのカウントについて私が理解したことです
P1 enters critical state
calls wait()
wait()
{
semaphore--;
if (semaphore<=0)
block;
else
execute the c.s
after execution in c.s calls signal();
}
signal()
{
semaphore++;
If(blocked process exists)
allow first process that is waiting and P1 leaves c.s
}
私が正しければ、値として 1 と 0 しか持てないバイナリ セマフォの場合はどうなるか教えてください。それともバイナリセマフォの実装がこれと違うのでしょうか?