Linux,C++,使用 poll/select 等待事件(w/o 阻塞正在执行的线程)
Linux, C++, Waiting for an event using poll/select ( w/o blocking the executing thread )
用例
- 单线程应用程序
- 使用 poll
的非阻塞异步 IO
- 具有超时期限的可等待对象(例如互斥体)
手头的问题
我不想创建专门的线程来等待超时,因此,我想使用 poll 在以 ~Async~ 方式等待的对象。
是否可以使用 poll 获得互斥等待超时通知?
主线程伪代码
Pthread 互斥体没有文件句柄。
在 eventfd 之上实现你自己的互斥锁,然后你可以用 poll()
等待它。
用例
- 单线程应用程序
- 使用 poll 的非阻塞异步 IO
- 具有超时期限的可等待对象(例如互斥体)
手头的问题
我不想创建专门的线程来等待超时,因此,我想使用 poll 在以 ~Async~ 方式等待的对象。
是否可以使用 poll 获得互斥等待超时通知?
主线程伪代码
Pthread 互斥体没有文件句柄。
在 eventfd 之上实现你自己的互斥锁,然后你可以用 poll()
等待它。