このフォーラムや他のC#マルチスレッドに関する多くの投稿を見直した後、私はまだ混乱しており、手元にある問題を処理するのに問題があります。スレッドを待っているC#マルチスレッドの問題
各整数の機能を実行するnumThreads
のスレッド数をdocumentIds
に作成します。 documentIds
は、Count = 100のList<int>
であり、これらの各要素のRestitchWorker.RestitchをdocumentIds
に呼び出したいとします。
私は現在下にありますが、5つのスレッドを100個のdocumentIdsのリストに入れてサイクリングする方法を混乱させています。
for (int i = 0; i < documentIds.Count; i++)
{
if (threadCount < numThreads)
{
var Worker = new RestitchWorker(documentIds.ElementAt(i));
Thread t_restitchWorker = new Thread(() => Worker.Restitch());
threadCount++;
t_restitchWorker.Start();
t_restitchWorker.Join();
}
}
。ジョイン?どのような投稿を読んでいたのですか? (あなたの研究の結果へのリンクを追加すると、あなたが何を助けてくれるかを理解するのに役立ちます) –
'Parallel.ForEach(documentIds、new ParallelOptions {MaxDegreeOfParallelism = 5}、processDocumentId);のようなものを考えましたか? – stuartd