![]() |
1
10
您可以使用非拥有(或“弱”)引用,类似于
how
至于等待国王死,你可以使用一个沉默,国王可以持有,直到他死,并有继承座等待国王释放它。 如果您需要有多个继承人等待,并且对继承人有一些排序,您可以有一个“继承人选择器”对象来跟踪继承人列表及其优先顺序,当国王释放互斥体时,它会将该互斥体的所有权分配给列表中的下一个继承人。 |
![]() |
2
0
谢谢@james。以下是我最终采用的解决方案: 互斥体方法似乎很有希望,但大多数互斥体都希望获取线程和释放线程是相同的。最后,我让继承者在堆栈上创建一个计数为零的信号量,将指向该信号量的指针传递给King,释放King,然后尝试获取该信号量。计数为零,因此继承人立即阻止。当调用King的析构函数时,它在信号量上调用“release”。这似乎对流氓波信号有效。 |
![]() |
Kris · 有没有办法获得可变结构字段的“引用” 3 年前 |
![]() |
Jora Karyan · IF语句未按预期引发错误 3 年前 |
![]() |
nedzad · 如何访问引用Firebase中其他对象的对象 7 年前 |
![]() |
Empha · 从成员函数对对象所做的更改不会持续。范围/参考问题? 7 年前 |