Golang channel 死锁的几种情况以及例子
Golang channel 死锁的几种情况以及例子死锁是指两个或两个以上的协程的执行过程中,由于竞争资源或由于彼此通信而造成的一种阻塞的现象,若无外力作用,他们将无法推进下去,以下是总结出来的几种死锁情况。1.死锁1:一个通道在一个主go程里同时进行读和写2.死锁2:go程开启之前使用通道3.死锁3 :通道1中调用了通道2,通道2中调用通道14.死锁4:直接读取空channel的死锁5.死锁5:超过channel缓存继续写入数据导致死锁6.向已关闭的channel中写入数据不会导致死锁,但是
原创
2020-11-06 16:38:03 ·
2604 阅读 ·
1 评论