我希望线程等到两个Condition中的任何一个发出信号。 有可能吗?
假设线程正在处理传入的数据包,而用户可能会通过更改某些状态来中断。
当数据包到达时发出一个条件信号,另一个条件在状态发生变化时发出信号。
我认为对两个事件使用一个Condition是不合适的,因为这会在监视状态的其他线程中引起大量不必要的唤醒。
答案 0 :(得分:3)
您可以添加由传入数据包和用户状态更改发出信号的第三个条件吗?我认为不可能在多种情况下等待。
答案 1 :(得分:0)
使用信号量,有2个许可证,让你的等待物品获得那些2,并让你的事件释放这些许可证,每次1个,直到2个回来?