воскресенье, 25 октября 2009 г.

Analog ManualResetEvent in Java

class ManualResetEvent {

  private final Object monitor = new Object();
  private volatile boolean open = false;

  public ManualResetEvent(boolean open) {
    this.open = open;
  }

  public void waitOne() throws InterruptedException {
    synchronized (monitor) {
      while (open==false) {
          monitor.wait();
      }
    }
  }

  public void set() {//open start
    synchronized (monitor) {
      open = true;
      monitor.notifyAll();
    }
  }

  public void reset() {//close stop
    open = false;
  }
}


* This source code was highlighted with Source Code Highlighter.


ManualResetEvent alternative in Java

Комментариев нет:

Отправить комментарий