在 C
中处理定时事件的最佳实践是什么?我正在考虑的场景是,如果我在一秒钟内没有收到服务器的响应,我需要从客户端重新发送数据到服务器。
代码会很好,但概念的解释会更有值(value)。
最佳答案
大多数操作系统都有某种形式的计时器。在 Linux/Unix/Posix 中你有 alarm
,在 Windows 中有 SetTimer
所以,基本上,您发送一条消息,并将计时器设置为您期望收到回复的时间 - 1 秒、10 秒、30 秒 - 任何适合您情况的时间。
如果您收到回复,您可以取消计时器,并执行您计划对回复执行的任何其他操作。如果在计时器触发之前没有回复到达,您将再次发送[这可能意味着“向某个信号量或标志发出信号”以再次发送,而不是在计时器的处理程序中实际执行此操作]。
对于其他操作系统,您必须告诉我们您正在查看什么,但大多数操作系统都有某种机制来处理“告诉我 X 时间已过”。
关于c - 如何为事件计时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14677916/