我正在构建一个模拟赛马的小型应用程序,以获得一些使用线程的基本技能。
我的代码包含这个循环:
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);