我有一個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