スレッドを操作する基本的なスキルを習得するために、競馬をシミュレートする小さなアプリケーションを構築しています。
私のコードには次のループが含まれています:
for (int i = 0; i < numberOfHorses; i++)
{
horsesThreads[i] = new Thread(horsesTypes[i].Race);
horsesThreads[i].Start(100);
}
競争を「公正」に保つために、新しく作成されたすべてのスレッドを、残りの新しいスレッドが設定されるまで待機させ、その後ですべてのスレッドを起動してメソッドの実行を開始する方法を探していました (注意してください)。技術的にスレッドを「同時に」起動できないことを理解しています)
基本的に、私はこのようなものを探しています:
for (int i = 0; i < numberOfHorses; i++)
{
horsesThreads[i] = new Thread(horsesTypes[i].Race);
}
Monitor.LaunchThreads(horsesThreads);