我正在创建一个新线程来在foreach循环的每次迭代期间执行一些代码。这些线程完成后,我想要主线程继续执行,但我不知道如何执行此操作。每次迭代我都不能调用Thread.Join()
,因为这会阻止主线程继续执行foreach循环,直到创建的线程完成。下面是代码块,其中testEnvironments
是一个字符串类型的列表:当Foreach循环中的其他线程正在运行时阻塞主线程
foreach (string s in testEnvironments)
{
myThread = new Thread(() => program.KickoffPricing(s));
myThread.Start();
Thread.Sleep(1000);
}
email.ComposeEmail();
我希望这不是一个UI线程。 – SLaks
这不是一个UI线程。这是一个控制台应用程序。 – Andrew
您是否试图一次运行所有线程?或者你想运行一个线程,等待,然后运行另一个线程?如果后者,这是否真的需要在一个单独的线程? – ThatBlairGuy