我正在寻找 IO/Kit 中的等待/信号同步原语,其工作方式如下:
Thread1 : wait(myEvent) // 阻塞 thread1
Thread2 : wait(myEvent) // 阻塞 thread2
Thread3 : signal(myEvent) // 释放 thread1 或 thread2 之一
这不能使用 IOLock 来完成,因为锁定/解锁操作将由不同的线程进行,根据我读过的一些文档,这是一个坏主意。
Thread1、2、3 可以是用户线程或内核线程。
我还想有一个可选的等待操作超时。
谢谢你的帮助 !