|
1
10
您可以使用非拥有(或“弱”)引用,类似于
how
至于等待国王死,你可以使用一个沉默,国王可以持有,直到他死,并有继承座等待国王释放它。 如果您需要有多个继承人等待,并且对继承人有一些排序,您可以有一个“继承人选择器”对象来跟踪继承人列表及其优先顺序,当国王释放互斥体时,它会将该互斥体的所有权分配给列表中的下一个继承人。 |
|
2
0
谢谢@james。以下是我最终采用的解决方案: 互斥体方法似乎很有希望,但大多数互斥体都希望获取线程和释放线程是相同的。最后,我让继承者在堆栈上创建一个计数为零的信号量,将指向该信号量的指针传递给King,释放King,然后尝试获取该信号量。计数为零,因此继承人立即阻止。当调用King的析构函数时,它在信号量上调用“release”。这似乎对流氓波信号有效。 |
|
|
Mardare Cristian · 如何延长响应超时默认时间? 8 年前 |
|
|
Akshay Gehi · ReteMemory初始化期间线程阻塞 10 年前 |
|
|
zlenyk · recv()方法何时返回0? 11 年前 |
|
|
Sanoob · javascript中的非阻塞代码问题 12 年前 |
|
|
Ondrej Janacek · 暂停任务执行 12 年前 |
|
|
Andrew Kind · 选择c:wfds始终处于打开状态,导致阻塞 12 年前 |
|
|
Albert Péter · 当WSDL太大时,JAX-WS客户端将挂起30秒 12 年前 |
|
|
Genesist · JavaFX GUI发布后台任务 12 年前 |
|
|
liam xu · FileInputStream.read()何时阻止? 13 年前 |