私はキューを使い慣れていません。以下のスキームを設定する際にいくつか問題があります。さまざまなディスパッチキューのタスクを同期させる方法は?
私には3つのタスクがあります。
タスクA:メインキューでのみ実行できます。タスクBと非同期で実行でき、タスクCと非同期で実行できません。実行頻度は高くなりますが、かなり速く実行されます。
タスクB:任意のキューで実行できます。タスクAと非同期で実行できます。タスクCと非同期に実行できません。実行はまれですが、実行には時間がかかります。後で実行するにはタスクCが必要ですが、タスクCはタスクAと非同期には実行できません。
タスクC:任意のキューで実行できます。タスクAまたはタスクBのいずれとも非同期で実行できません。実行はめったになく、すぐに実行されます。
今私はこのようにそれを持っている:
タスクAは、シリアルキューX(タスクがメインキューにタスクAを提出するシリアルキューXに提出された)によってメインキューに送信されます。
タスクCがちょうどタスクA
のようにここでの問題は、タスクCが時々で実行されることで、シリアルキューXでメインキューに提出され
タスクBがシリアルキューXに提出されますメインキューは、シリアルキューがタスクBを実行するのと同時にタスクCを実行することがあります。
したがって、タスクBとタスクCが同時に実行されることはありませんAとBが同時に実行され、AとCが同時に実行されないようにしますか?さらに、彼らは同じ回数を実行することを確認するための簡単な方法はありますか? (前後に交互に)
パーフェクト、それはまさに私がする必要があったものです。本当にありがとう! – Randall