Как устроен netpoller внутри?

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

Netpoller — это абстракция над epoll (Linux), kqueue (macOS), IOCP (Windows). Когда горутина делает сетевой I/O, файл-дескриптор регистрируется в поллере, а горутина паркуется. Отдельный поток sysmon периодически вызывает netpoll(), который возвращает список готовых дескрипторов. Соответствующие горутины разбуживаются и попадают обратно в очереди планировщика.

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

Как работает graceful restart с socket inheritance?