1
1
你可以想到
所以,在你的情况下,打电话给
它被称为
循环的
因为,一旦计数被重置并且线程被释放,它就可以再次使用。一个典型的用法是
|
2
1
关于被视为死锁的情况所需的循环等待条件, Wikipedia says :
你有一组过程p1和p2。他们在等 某物 但他们并不等待P3,因为不存在这样的过程。所以这不是僵局。 也不满足以下条件:
(强调我的)。您没有任何包含任何资源的进程,因为第三个进程不存在。 |
3
0
从技术上讲,这不是死锁,因为已经处于屏障处的两个线程没有被阻塞。 彼此之间 ,他们正在等待第三个从未到达的线程。 但最终结果与死锁非常相似,一开始可能会令人困惑。
措辞也有点混乱,因为从技术上讲,在有限制的循环屏障上
但这和死锁的关键区别在于如何解决它们:线程太少的循环屏障将由更多的线程来解决,在死锁中,唯一的“解决方法”是杀死一个已经在等待的线程。 |
a a · 为什么在这个可重入锁示例中需要引用计数? 2 年前 |
Grant · goroutines有高空闲唤醒电话 2 年前 |
hoaz · 如何安全地清理并发映射 6 年前 |
Alanpatchi · int基元类型的volatile声明 6 年前 |