バックグラウンドで順番に実行する必要があるタスクまたは作業項目のキューがあります。これらのタスクは「ファイア アンド フォーゲット」タイプになります。つまり、一度開始すると、完了するかどうかはあまり気にせず、キャンセルやステータスの更新は必要ありません。完了しない場合、ユーザーは手動で再試行または診断できます。
目標は、キューへの参照を保持できるようにすることです。
myQueue.Add( () => DoMyStuff() );
キューに何かを追加するため。
System.Threading.Task クラスは、共通のキューを参照することによってではなく、タスクを順番にキューに入れることしかできないようです。最新のタスクを取得してそれにアタッチするという複雑さを管理したくありません。
スレッドプールは順序付けを保証せず、作業項目を並行して実行します。(これは素晴らしいですが、私が必要とするものではありません)
私が考えていなかったものを処理できる組み込みクラスはありますか?
編集: 後でキューにタスクを追加できるようにする必要があります。シナリオは、ユーザーがボタンをクリックしたときにデバイスにコマンドを送信することです (電球をオンまたはオフに切り替えることを考えてください)。コマンドの処理には 5 秒かかります。ユーザーが複数回クリックしてリクエストをキューに入れられるようにしたいと考えています。キューに入れられるタスクの数も、そのタスクが何であるかも、事前にはわかりません。