■ Parallel.For
サンプル
例1
for (int x = 0; x < 100; x++)
{
this.MethodA(x);
}
private void MethodA(int counter)
{
// 重い処理
}
例2
// 処理1と同じ処理。ただし、非同期なので、0~100のランダムに実行される。
Parallel.For(0, 100, (x) => this.MethodA(x));
■ Parallel.ForEach
サンプル
例1
foreach(var x in list)
{
this.MethodA(x);
}
private void MethodA(int counter)
{
// 重い処理
}
例2
// 処理1と同じ処理。ただし、非同期なので、0~100のランダムに実行される。
IList<int> list = Enumerable.Range(0, 100).ToList();
Parallel.ForEach(list, (x) => this.MethodA(x));