根据我对 Go 调度器的理解,Go 调度算法是部分抢占式的:当 goroutine 调用函数或阻塞 I/O 时,goroutine 切换发生。
向通道发送消息时是否会发生 goroutine 切换?
// goroutine A
ch <- message
// some additional code without function calls
// goroutine B
message := <- ch
在上面的代码中,我希望ch <- message在切换到B之前执行A之后的代码,这能保证吗?或者 B 是否在 A 发送消息后立即安排ch?
缥缈止盈
子衿沉夜
相关分类