Ich habe eine Windows Forms App, die ich alle seriellen Schnittstellen überprüfen, um festzustellen, ob ein bestimmtes Gerät verbunden ist.C# Warten auf mehrere Threads zu beenden
So spinne ich jeden Thread ab. Der folgende Code ist bereits vom Hauptgui-Thread abgespalten.
foreach (cpsComms.cpsSerial ser in availPorts)
{
Thread t = new Thread(new ParameterizedThreadStart(lookForValidDev));
t.Start((object)ser);//start thread and pass it the port
}
Ich möchte die nächste Codezeile warten, bis alle Threads beendet sind. Ich habe versucht, eine t.join
dort zu verwenden, aber das verarbeitet sie nur linear.
Streng als eine Randnotiz und nicht, dass Sie danach gefragt, aber Sie können IsBackground = True auf den Thread setzen, um nicht den Haupt-Thread zu blockieren, wenn Sie die Anwendung beenden. – Patrick