Мне нужно добавить поддержку таймеров в приложении на основе портов завершения ввода / вывода (IOCP).Я хотел бы избежать использования определенного потока для управления таймерами.
В Linux вы можете создать таймер, который доставляет уведомления об истечении срока действия с помощью файлового дескриптора (см. Timerfd.h man), поэтому его удобно использоватьнапример, с epoll, если ваше приложение основано на epoll.
В Windows вы можете использовать «таймеры ожидания» с асинхронным вызовом процедуры (ACP) (см. http://msdn.microsoft.com/en-us/library/ms686898(v=VS.85).aspx)
Если вам интересно, kqueue (BSD, Mac OS) поддерживает таймерыпо умолчанию (см. EVFILT_TIMER).
С портами завершения ввода / вывода мы должны использовать объекты, которые поддерживают перекрывающийся ввод / вывод. Итак, есть ли такой таймер для IOCP?
С наилучшими пожеланиями,
Cédrics