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