我需要在基于I/O完成端口(IOCP)的应用程序中添加计时器支持。我希望避免使用特定线程来管理计时器。
在Linux上,您可以创建一个计时器,通过文件描述符传递到期通知(请参阅timerfd.h man),因此,如果您的应用程序基于epoll,则可以很好地使用它。
在Windows上,您可以使用"可等待计时器"与异步过程调用(ACP) (请参阅http://msdn.microsoft.com/en-us/library/ms686898(v=VS.85).aspx)
如果您有兴趣,kqueue(BSD,Mac OS)默认支持计时器(请参阅EVFILT_TIMER)。
使用I/O完成端口,我们必须使用支持重叠I/O的对象。那么,是否有这样的计时器适用于IOCP?
最好的问候,
Cédrics
在Linux上,您可以创建一个计时器,通过文件描述符传递到期通知(请参阅timerfd.h man),因此,如果您的应用程序基于epoll,则可以很好地使用它。
在Windows上,您可以使用"可等待计时器"与异步过程调用(ACP) (请参阅http://msdn.microsoft.com/en-us/library/ms686898(v=VS.85).aspx)
如果您有兴趣,kqueue(BSD,Mac OS)默认支持计时器(请参阅EVFILT_TIMER)。
使用I/O完成端口,我们必须使用支持重叠I/O的对象。那么,是否有这样的计时器适用于IOCP?
最好的问候,
Cédrics