Как работает netpoller?

Senior
490 просмотров
AFK Offer AI

Netpoller — подсистема Go рантайма, которая эффективно обрабатывает сетевой I/O. Когда горутина делает Read/Write на сокете и данных нет, она не блокирует системный тред — вместо этого горутина паркуется, а файловый дескриптор регистрируется в netpoller (epoll на Linux, kqueue на macOS). Когда данные приходят, netpoller пробуждает горутину и ставит её обратно в очередь. Это позволяет обслуживать тысячи соединений малым числом тредов — классический event loop, но спрятанный за синхронным API.

Следующий вопрос

Что такое cache-aside паттерн?