Linux上C语言中基于事件循环的进程中的异步计时器

时间:2015-07-10 08:38:17

标签: c linux asynchronous timer

想象的场景:

有一个基于事件循环(epoll)的processA,它有时会通过网络将请求发送到另一个在不同计算机上运行的进程B. ProcessA异步启动一个计时器并等待10秒,然后放弃等待来自processB的响应。如果processB的响应在10秒内到达,则计时器将停止。

问题是如何在Linux系统上用C实现这个异步计时器?

1 个答案:

答案 0 :(得分:0)

在文件描述符上使用select(http://linux.die.net/man/2/select)来读取响应。此系统调用使一个人能够超时