Moin,
Ist es in win32 tatsächlich Pflicht, das Beenden aller Threads zu überwachen und abzuwarten, bevor man das Hauptprogramm enden lässt?
ich habe noch einmal kurz nachgedacht: Die Antwort lautet sowohl unter Windows als auch Linux/Unix Ja. Es ist ein Unterschied ob ich den Thread joine oder detache. Im zweiten Fall läuft der Thread unabhängig vom aufrufenden Thread.
Seit C++ 2011 gibt es eine Thread Library, die dir die Arbeit deutlich erleichtert.
Nach erleichtern sieht das nicht gerade aus. Mit meiner reinen Windows-API-Lösung brauche ich genau zwei Funktionen: CreateThread() und GetExitCodeThread() - wobei letztere mir vor allem verrät, ob der Thread noch läuft oder schon beendet ist.
Gut, dafür bräuchte man in C++ wohl eine Statusvariable, wenn der Thread nicht gejoined werden kann. Aber das Prinzip ist ziemlich ähnlich. Interessanterweise scheint es in C++ keine andere Möglichkeit zu geben herauszufinden, ob der Thread läuft.
Viele Grüße
Robert