PLINQ クエリのスレッド "インデックス" を Select などの演算子の 1 つに渡す方法はありますか?
バックグラウンドは、逆シリアル化を行う PLINQ クエリがあることです。逆シリアル化メソッドは、構造体 (おそらく配列) を使用してデータを別のメソッドに渡します。
ParallelEnumerable.Range(0, nrObjects)
.WithDegreeOfParallelism(8)
.Select(i => this.Deserialize(serializer, i, arrays[threadIndex]))
.ToList();
(threadIndex は私が望む新しい変数です)
スレッド インデックスがわかっている場合は、事前にこれらの配列を 8 つ作成し (すべてが使用されない場合でも)、それらを再利用できます。Deserialization メソッドは何百万回も呼び出される可能性があるため、あらゆる小さな最適化が重要になります。