Функции epoll_wait, select и poll все обеспечивают таймаут. Однако с epoll он находится в большом разрешении 1 мс. Выберите & ppoll - единственный, обеспечивающий тайм-аут в миллисекундах.Почему epoll_wait обеспечивает огромный тайм-аут 1 мс?
Это означает, что в лучшем случае это будет делать другие вещи с интервалом в 1 мс. Я мог бы сделать много других вещей в течение 1 мс на современном процессоре.
Так что, чтобы делать другие вещи чаще, чем 1 мс, я на самом деле должен предоставить тайм-аут нуля (по сути, отключив его). И я, вероятно, добавлю свое собственное оружие где-нибудь в главном цикле, чтобы остановить его пережевывание слишком большого количества CPU.
Итак, вопрос в том, почему тайм-аут в милли, когда я думаю, что есть случай для более высокого разрешения.
В этой статье представлена дополнительная информация о временном разрешении select(), poll() и epoll_wait() и их взаимодействии с ядром. Я рекомендую прочитать его. http://lwn.net/Articles/296578/ –