And*_*fas 10 c linux select system-calls
select()是一个很棒的系统调用.您可以打包任意数量的文件描述符,套接字描述符,管道等,并在输入可用时以同步方式获得通知.
有没有办法创建一个interval/oneshot计时器并与select()一起使用?这将使我免于拥有多个线程用于IO和计时.
nos*_*nos 12
timerfd_create就是这样做的.这是Linux内核的一个相当新的补充,但可能并不适用于所有发行版.
使用timeout参数 - 将计时器事件保存在优先级队列中,检查顶部项并相应地设置超时 - 如果达到超时,则可以检查事件是否准备好运行,运行事件并继续.
至少那是我的工作.
请注意,poll具有更好的界面(在某些方面),并且可能更有效地使用大量文件描述符.
| 归档时间: |
|
| 查看次数: |
4176 次 |
| 最近记录: |