Re:Go: What We Got Right, What We Got Wrong
by pcwalton on Thursday January 04, 2024 @06:41PM
(#38873784)
Go doesn't need to transition to the kernel to switch threads, does it? It just saves and loads the register state in userland.
[ Parent
| on HN ]
Re:Go: What We Got Right, What We Got Wrong
by dekhn on Thursday January 04, 2024 @06:51PM
(#38873871)
IIUC it can, sometimes, avoid a kernel transition when it knows it can schedule the recipient of a message, but I believe that golang creates a threadpool for running goroutines on platforms that use thread primitives.
From https://github.com/golang/go/blob/c7d6c6000a84b61ac8bb2e38e8... I believe "worker threads" are OS threads.