[go语言]在哪些情况下goroutine会挂起?

time.sleep
socket循环读取消息
channel信道阻塞

还有其他的么?

共 2 个回复


16779242

对同一个mutex,当routine A调用了mutex.Lock()后,rontine B再调用mutex.Lock()时会挂起,直到routine A调用mutex.Unlock()释放掉锁资源后,routine B才会执行mutex.Lock()继续往下执行

# 0

16779242

还有sync.WatiGroup()

# 1