对于一些并发代码,我想将一堆信号像电路一样连接在一起。在 .NET 中,我们可以对信号集合执行 WaitAll 或 WaitAny。我想做这样的事情:
WaitAny ( WaitAll (c1, c2), WaitAll (c3, c4) ) ;
不幸的是,该库不支持将这些操作组合成更复杂的树。我的问题是(1)有没有办法在 .NET 中做到这一点?(2) 是否有任何语言的精巧库?
[编辑:科里询问更多细节]
我想建立一个消息传递库。可能有 10K 小并发队列,其中一些带有消息。我想从队列中获取消息并执行分配给队列的处理程序。但是,在处理程序完成之前我无法获取下一条消息(每个队列单线程)。所以我真的想在弹出并执行下一个项目之前等待队列(收到消息?)和代码(完成上一条消息?)。