質問があります。いくつかのコード例を参考にしてください。背景を説明するのに役立つと思います。
3つのキュー(C#ではwinforms)のエンジンを作成する必要があります。3つのキューには、単に「アクション」オブジェクトが含まれています。アクションはエンジンにスローされ、「最も利用可能な」キュー(基本的にはカウントが最も少ないキュー)に固執します。ほとんどの場合、キューは害を及ぼすことなく個別に非同期で実行できます。ただし、発生する可能性のある「アクション」状況が1つあり、そのタイプの「アクション」が発生してキューの先頭にバブルする場合は、次のことを行う必要があります。
- 他のキューが現在のアクションを停止するのを待ちます
- 現在のアクションが終了したら、ロック/一時停止します
- 完了するまでアクションを単独で実行します
- 他の2つのキューのロックを解除します。
3つのキューのいずれかが他の2つをロックする可能性があるという追加の問題があります。
誰かがこれの経験がありますか?
そうだといいのですが、少し辛そうです:-)よろしくお願いします