いくつかの並行コードでは、回路のように多数の信号を接続したいと考えています。.NET では、シグナルのコレクションに対して WaitAll または WaitAny を実行できます。私はこのようなことをしたい:
WaitAny ( WaitAll (c1, c2), WaitAll (c3, c4) ) ;
残念ながら、ライブラリはこれらの操作をより複雑なツリーに構成することをサポートしていません。私の質問は (1) .NET でこれを行う方法はありますか? (2) このための洗練されたライブラリはどの言語にもありますか?
[編集: コーリーが詳細を尋ねた]
メッセージパッシングライブラリを構築したい。10K の小さな同時キューが存在する可能性があり、メッセージを含むものもあります。キューからメッセージを取得し、キューに割り当てられたハンドラーを実行したいと考えています。ただし、ハンドラーが完了するまで次のメッセージを取得することはできません (キューごとにシングル スレッド)。したがって、次の項目をポップして実行する前に、キュー (メッセージを受け取った?) とコード (前のメッセージで終了した?) の両方を待ちたいと思います。