goroutine调用中通道接收操作符的阻塞行为

go DelegateWork(mr, <-mr.impl.readyWorkers, jobArgs)    

在上面的例子中,通道接收操作符是否会导致调用者或被调用的 goroutine 阻塞?

回答

规范:Go 语句:

函数值和参数在调用 goroutine 中照常评估,但与常规调用不同,程序执行不会等待调用的函数完成。相反,该函数开始在新的 goroutine 中独立执行。

所以如果<-mr.impl.readyWorkers阻塞,它会在新的 goroutine 启动之前阻塞调用者 goroutine。


以上是goroutine调用中通道接收操作符的阻塞行为的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>