LINUX.ORG.RU

История изменений

Исправление intelfx, (текущая версия) :

Нет, не так.

Event loop — это когда ты вызываешь select() / poll() / epoll() в цикле. Каждая из этих функций блокирующая: ОС ставит твой поток на паузу и занимается другими делами. Когда в любом из переданных туда fd происходит «событие» (что такое «событие», определяется отдельно — обычно это или готовность для чтения, или готовность для записи, или исключительная ситуация типа обрыва канала), ОС ставит твой поток в очередь исполнения, и когда исполнение до него доходит, функция возвращает управление.

Со стороны потока это выглядит так, как будто выполнение select() заняло непредсказуемое количество реального времени.

Исходная версия intelfx, :

Нет, не так.

Event loop — это когда ты вызываешь select() / poll() / epoll() в цикле. Каждая из этих функций блокирующая: ОС ставит твой поток на паузу и занимается другими делами. Когда в любом из переданных туда fd происходит «событие» (что такое «событие», определяется отдельно — обычно это или готовность для чтения, или готовность для записи, или исключительная ситуация типа обрыва канала), ОС ставит твой поток в очередь исполнения и возвращает ему управление.

Со стороны потока это выглядит так, как будто выполнение select() заняло непредсказуемое количество реального времени.