用例
- 单线程应用程序
- 使用 poll
的非阻止Async-IO
- 具有超时期限的可等待对象(例如,互斥锁)
手头的问题
我不想创建一个专门的线程来等待超时,因此,我想使用 poll 等待〜中的等待对象超时〜异步〜时尚。
是否可以使用 poll 通知互用等待超时?
主线程伪代码
- 现有逻辑
- 使用 poll
等待多个FD
- 为每个~ready~FD,处理IO
- 转到#1
- 所需的逻辑
- 使用 poll
等待多个FD 和Mutexes
- 为每个~ready~FD,处理IO
- 对于每个timedout互斥进程超时(例如,执行已注册的回调)
- 对于每个发出信号的互斥进程等待完成
- 转到#1