Как работают асинхронные вызовы «epoll» или «kqueue» на уровне процессора (сборки)? - PullRequest
0 голосов
/ 22 ноября 2018

Недавно я пытался обернуть свой мозг вокруг асинхронного ввода-вывода, то есть epoll() в Linux и kqueue() в FreeBSD;вместо того, чтобы создавать несколько потоков и использовать что-то вроде select(), вы можете создать только один поток и по-прежнему отвечать на многие события ввода-вывода одновременно.

Я пытался понять, как это работает на глубокомуровень в машинном коде, но попал в кирпичную стену. (Возможно, моего Google-Fu просто не хватает.) Я не могу найти никаких инструкций процессора, связанных с асинхронным вводом / выводом - так как это работает?

...