channel中发生死锁的情况

情况一: 单线程的情况下,往channel中放入数据量超过其channel的大小的时候
func main(){
var ch = make(chan int, 2)
ch <- 2 ch <- 3 ch <- 8 } 出现的错误如下: fatal error: all goroutines are asleep - deadlock! goroutine 1 [chan send]: main.main() /Users/lcq/go/src/go_base/gochanneldemo/channeldemo.go:32 +0x8d 情况二: 单线程的情况下,把channel中的数据全部取出后,还继续取数据的时候 func main(){ var ch = make(chan int, 2) ch <- 2 ch <- 3 // ch <- 8 // 开始取

channel中发生死锁的情况最先出现在Python成神之路

版权声明:
作者:siwei
链接:https://www.techfm.club/p/18730.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>