Robert B.: Win32-API: CreateThread(), Threads koordinieren

Beitrag lesen

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