请问GO语言协程是如何使用少量的线程处理那么多请求的,协程陷入系统调用的时候会发生什么?

在看go夜读 #64 深入浅出 Golang Runtime 【 Go 夜读 】中,1小时27分,中讲到使用了少量的线程却能处理这么多keep-alive的请求,请问是如何实现的呢?GO是怎么做到的呢?