これは難しい質問かもしれませんが、私が持っているのは 1000 行を含む DataTable です。これらの行の foreach 新しいスレッドで処理したい。ただし、スレッドを 4 スレッドに制限したいと考えています。したがって、基本的には、データテーブル全体が処理されるまで、常に 4 つのスレッドを実行し続けています。
現在、私はこれを持っています。
foreach (DataRow dtRow in urlTable.Rows)
{
for (int i = 0; i < 4; i++)
{
Thread thread = new Thread(() => MasterCrawlerClass.MasterCrawlBegin(dtRow));
thread.Start();
}
}
これが逆であることは知っていますが、探しているものを達成する方法がわかりません。非常に複雑な while ループを考えましたが、それは最善の方法ではないでしょうか? どんな助けでも大歓迎です。