私は現在プロジェクトに取り組んでおり、処理のためにいくつかのジョブをキューに入れる必要があります。要件は次のとおりです。
- ジョブは一度に1つずつ処理する必要があります
- キューに入れられたアイテムは、待機できる必要があります
だから私は次のようなものが欲しいです:
Task<result> QueueJob(params here)
{
/// Queue the job and somehow return a waitable task that will wait until the queued job has been executed and return the result.
}
アイテムをキューから取り出してジョブを処理するだけのバックグラウンド実行タスクを試してみましたが、バックグラウンドタスクからメソッドに移行するのが困難です。
必要に応じて、QueueJobメソッドで完了コールバックを要求するだけのルートをたどることができますが、ジョブが処理されるのを待つことができる透過的なタスクを取り戻すことができれば素晴らしいと思います(ジョブがある場合でも)キューに入れる前)。