I'm trying to figure out how golang multiplexes goroutines onto OS threads but I couldn't find the implementation for this in the golang source. I've looked in proc.go and runtime.go. I want to know how threads are initialized and managed and if it uses pthreads.
The strategy is different for each os.
Some examples are in the windows os portion for the Go runtime and the linux os portion for the Go runtime