golang 的 time.Sleep 是直接阻塞线程还是只阻塞协程。
|
zhujinliangSep 21, 2019 via iPhone
1
协程
|
|
LeiggSep 21, 2019 via Android
2
这问题问的,,先熟悉一下 go 并发调度原理
|
|
3
爱阻塞啥阻塞啥,只要语义符合,阻塞 goroutine 或者阻塞系统线程,都是正确的实现。
当然现在的实现是阻塞 goroutine。 在 go 的语义里,根本就不存在 goroutine 和系统线程的区别,不同的调度器实现会用不同的策略,所以也不要假定以后也会一直是 M:N 的调度器,可以是 1:1 的,而且在程序里,没有办法区分。 |
|
wweirSep 21, 2019 via Android
4
协程,runtime 不给对应的 goroutine 分配运行时间片
|