Worker-Thread bleibt stehen?
-
void CMTDlg::OnButtonStart() { AfxBeginThread(thrTest, this); Sleep(10000); } static UINT CMTDlg::thrTest(LPVOID pParam) { AfxMessageBox("bla"); return true; }Hi,
also ich verstehe das nicht ganz. Überall lese ich immer unabhängige
Thread voneinander erstellen ist ganz einfach, scheint auch so zu sein
nur sind die bei mir "scheinbar" nicht unabhängig. Ich will jetzt absolut
einfach nen Worker-Thread haben s.o.Wieso bekomm ich die MessageBox erst nach 10 Sek und nicht sofort, sollte
thrTest nicht voll durchrennen wenn onButtonStart schläft
achja: Der ProcessViewer zeigt mir während des Sleeps schon den neuen Thread an..
mfg
tobi
-
Ist AfxMessageBox nicht ein Child des Hauptdialogs.
Wenn du diesen Schlafen legst dann gibts auch keine Message zum Zeichnen.
Ein Wokerthread ist auch nicht dafür da um Benutzereingabe zuzulassen. Deshalb unterscheidet man z.w. Woker und Benutzer Thread.
-
Ja ich habs schon gemerkt.
War ein bischen blöd. Ich wollte mit der MsgBox prüfen ob der
Thread arbeitet. Wenn ich ne Schleife mit nem Trace oder so
mache funzt es einwandfrei.