Skip to content
Opensource internals
  • Posts

Epoll

Go's netpoller: Why Blocking I/O Doesn't Block a Thread

Oct 21, 2026 16 min read Jay Hubbert

Go’s netpoller parks a blocked goroutine on a pollDesc and wakes it from epoll, so a socket read costs a goroutine, not a thread, and the runtime never blocks in a syscall it did …

GoInternalsNetworkingEpollConcurrency

Read more →

© 2026 Jay Hubbert · Built with Hugo 0.168.0

RSS ·