我有一个Windows窗体应用程序,我正在检查所有串行端口,以查看特定设备是否连接。C#等待多个线程完成
这是我如何分离每个线程。下面的代码已经脱离了主要的gui线程。
foreach (cpsComms.cpsSerial ser in availPorts)
{
Thread t = new Thread(new ParameterizedThreadStart(lookForValidDev));
t.Start((object)ser);//start thread and pass it the port
}
我希望下一行代码等待,直到所有线程都完成。 我试过在那里使用t.join
,但那只是线性处理它们。
严格地作为一个便笺,而不是你询问它,但是你可以把IsBackground = true放在线程上,以便在你退出应用程序时不会阻塞主线程。 – Patrick 2010-02-17 15:43:14