| 12345678910111213141516171819202122232425262728293031323334353637 | package sys.thread;import cs.system.threading.Monitor;@:coreApi@:access(sys.thread.Mutex)class Condition {	final object:cs.system.Object;	public function new():Void {		this.object = new cs.system.Object();	}	public function acquire():Void {		Monitor.Enter(object);	}	public function tryAcquire():Bool {		return Monitor.TryEnter(object);	}	public function release():Void {		Monitor.Exit(object);	}	public function wait():Void {		Monitor.Wait(object);	}	public function signal():Void {		Monitor.Pulse(object);	}	public function broadcast():Void {		Monitor.PulseAll(object);	}}
 |