Hallo an alle Thread-Spezialisten!
Ich habe ein Riesenproblem:
Meine Dialog-Anwendung startet fünf Arbeitsthreads, diese starten je einen externen Prozess.
Alles wird mit dem Priority-Level Normal gestartet.
AfxBeginThread([Thread-Funktion], &m_cListCtr1, THREAD_PRIORITY_NORMAL, 2048, 0, 0);
CreateProcess(NULL, [exe mit Argumenten], NULL, NULL, TRUE, CREATE_NEW_CONSOLE|NORMAL_PRIORITY_CLASS, NULL, NULL, &si1, &pi1); //si1 Start-Information; pi1 Prozess-Information
Allerdings kommt es zu erheblichem Fehlverhalten: Entweder der Rechner stürzt ab oder die Threads bleiben hängen, sodass ich nur mit der Reset-Taste neu starten kann.
Ich bin kein großer Thread-Spezialist.
Die Threads reagieren auf globale BOOL-Variablen, auf die jeder Thread mit einer while-Schleife und Sleep() wartet, bis diese den Wert false haben.
Kann mir jemand einen Tip geben, wie das ganze sicher läuft?