ich eine Multithread-Anwendung haben, und ich will, wenn alle Fäden vor dem Start eines neuen, dh beendet haben, um zu sehen in regelmäßigen Abständen einen Timer zu verwenden, um in der Lage zu überprüfen:überprüfen, um von Zeit zu Zeit, wenn alle Threads abgeschlossen haben zu sehen
var checkStatusTimer = new System.Threading.Timer(new TimerCallback(CheckThreads), null, 10000, 10000);
Das ist soweit ich gekommen bin. Was müsste in der CheckThreads-Methode überprüft werden, um zu sehen, ob sie erledigt sind? Ich dachte an etwas in der Art einer Funktion, die sie wie folgt überprüft:
foreach (Thread thread in Threads)
{
Thread t = thread;
if (t.ThreadState != ThreadState.Stopped)
return false;
}
Bin ich auf dem richtigen Weg? Ist das der richtige Weg? Oder sollte ich stattdessen einen System.Timers.Timer verwenden? Auch das Funktionsformular innerhalb dieser periodischen Überprüfung ist statisch. Jede Hilfe wäre willkommen.
Ich schlage vor, Sie fügen das Tag [Tag: C#] oder was auch immer das ist. – nwp