public class BinarySemaphore {
boolean value;
BinarySemaphore(boolean initValue) {
value = initValue;
}
public synchronized void P() {
while (value == false)
Util.myWait(this);// in queue of blocked processes
value = false;
}
public synchronized void V() {
value = true;
notify();
}
}