すべて、私は と呼ばれる一般的なメソッドを持っていますTaskSpin
。このメソッドでは、関連付けられた を起動Task
しますcontinutation
public TaskSpin(Func asyncMethod, object[] methodParameters)
{
...
asyncTask = Task.Factory.StartNew<bool>(() =>
asyncMethod(uiScheduler, methodParameters));
asyncTask.ContinueWith(task =>
{
// Finish the processing update UI etc.
}
...
}
問題は、 を使用して複数のメソッドを実行したいということですがTaskSpin
、メソッドを一度に 1 つずつ実行するように制限する必要があります。だから、いくつかの行の foreachDataGridView
私は次のようなことをしたい
foreach (DataGridViewRow row in this.DataGridViewUrg.Rows)
TaskSpin(Run(DrgDataRowInfo(row.Index)));
ただし、上記では、TaskSpin
メソッドはすぐに終了TaskSpin
し、さらに別のスレッドで次のメソッドがスピンオフされます。Run
メソッドは共通のファイル セットに書き込むため、これは適切ではありません。これらのジョブをキューに入れる最良の方法は何ですか?