Semaphore
继承: RefCounted < Object
同步机制,用于控制对 Thread 之间共享资源的访问。
描述
同步机制,用于控制对 Thread 之间共享资源的访问。创建时初始化为零。二元版本见 Mutex。
警告:信号量必须谨慎使用,防止死锁。
警告:为了确保操作系统能够执行正确的清理(避免崩溃和思索),必须满足以下条件:
Semaphore 的引用计数变为零,导致销毁时,没有线程在等待该信号量。
Thread 的引用计数变为零,导致销毁时,没有在等待任何信号量。
教程
方法
void | post() |
try_wait() | |
void | wait() |
方法说明
void post() 🔗
降低 Semaphore,额外允许一个线程进入。
与 wait 类似,但不会阻塞,所以如果值为零,则会立即失败并返回 false
。如果非零,则返回 true
以报告成功。
void wait() 🔗
等待该 Semaphore,如果它的值为零,则阻塞到变为非零为止。