大神解释下:不是说锁不可重入么

wujiangwei · · 1429 次点击
看sync.Cond的源码 ``` func (c *Cond) Wait() { c.checker.check() t := runtime_notifyListAdd(&c.notify) c.L.Unlock() runtime_notifyListWait(&c.notify, t) c.L.Lock() } ``` 进入c.Wait()后会解锁
#9
更多评论
因为3-7处并没有执行6…… 你可以理解为6是告诉系统将要执行removeFromQueue
#1
我们抛开 6 的时间延迟,程序仍然能正常执行,正如你所说的`将要执行` , 那我们起了10个goroutine 会不会有某一个 goroutine与 maingoroutine 同时执行,如果有,那么这个问题可能依然存在,或者说我理解的方向有误,那么正确的理解应该是什么呢
#2