| 123456789101112131415161718192021222324 | package sys.thread;import python.lib.threading.Semaphore as NativeSemaphore;@:coreApiclass Semaphore {	final semaphore:NativeSemaphore;	public function new(value:Int):Void {		this.semaphore = new NativeSemaphore(value);	}	public function acquire():Void {		semaphore.acquire();	}	public function tryAcquire(?timeout:Float):Bool {		return timeout == null ? semaphore.acquire(false) : semaphore.acquire(true, timeout);	}	public function release():Void {		semaphore.release();	}}
 |