September 2017
Intermediate to advanced
466 pages
9h 33m
English
In the previous chapter, we said that the kernel scheduler is responsible for the order your goroutines will be executed in, which is not completely accurate. The kernel scheduler is responsible for the execution of the threads your programs have. The Go runtime has its own scheduler that is responsible for the execution of the goroutines using a technique known as m:n scheduling, where m goroutines are executed using n operating system threads using multiplexing. As the Go scheduler has to deal with the goroutines of a single program, its operation is much cheaper and faster than the operation of the kernel scheduler.
Read now
Unlock full access