すべて、私は と呼ばれる一般的なメソッドを持っています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メソッドは共通のファイル セットに書き込むため、これは適切ではありません。これらのジョブをキューに入れる最良の方法は何ですか?