MSDNのタスクに関する Microsoft のチュートリアルを見ました。
Parallel.ForEach() 静的メソッド呼び出しを示す例を示しています。そのメソッド呼び出しでは、4 つのパラメーターがあります...最初のパラメーターは Int の配列である必要がありますか? それとも、すべてのスレッドが取り組んでいる何らかの種類のコレクションまたはオブジェクトでしょうか? 2 番目のパラメーターは、値 (または void) を返さないデリゲートである Action のようです。その2番目の変数は一体何のためですか?スレッド ローカル初期化子? 0 に初期化する理由 ここで一体何が設定されているのですか?3番目のパラメーターは単なるデリゲート(または私が考えるのが好きな関数ポイント)であり、ラムダ式の右側は実際の関数ですか?たとえば、実際の関数の名前をそこに書かずにその側に置くことはできますか? 例えば...
public int localSum(int n, ParallelLoopState loopState, int localSum) {
localSum += n;
Console.WriteLine("Thread={0}, n={1}, localSum={2}", Thread.CurrentThread.ManagedThreadId, n, localSum);
return localSum;
}
(n, loopState, localSum) => localSum(int n, ParallelLoopState loopState, int localSum),