2 ms·
Go doesn't need to transition to the kernel to switch threads, does it? It just saves and loads the register state in userland.
by pcwalton 3y ago
Go doesn't need to transition to the kernel to switch threads, does it? It just saves and loads the register state in userland.
- dekhn 3y agoIIUC 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/c7d6c6000a84b61ac8bb2e38e855ad120914658a/src/runtime/proc.go#L19 https://github.com/golang/go/blob/c7d6c6000a84b61ac8bb2e38e8... I believe "worker threads" are OS threads.