複数の作業項目を 1 つのタスクにスケジュールしたい、つまり、1 つのタスクが次々とタスクを実行するようにしたい。タスクの .continuewith() 機能について知っています。私の問題には2つの部分があります:
最初の問題は、そのタスクの優先度もスケジュールしたいということです。この投稿で romkyn が提案したスケジューラーを使用しています。
同じタスクが同じ優先度レベルで複数の作業を実行する方法はありますか?
100 を超えるタスクを生成し、ランダムに割り当てられた優先度レベル (最低、通常より上、最高) でスケジュールします。
生成および実行段階で、より優先度の高いタスクが生成されて待機できない場合、タスクキャンセルトークンを使用して実行中のタスクを (a) 知り、(b) キャンセルするにはどうすればよいですか?
今のところ、単純な for ループと taskfactory を使用してタスクを生成しています。
Task t = Task.Factory.StartNew(() =>
{
//perform work1 here
}, ct, TaskCreationOptions.None, PriorityScheduler.Lowest);