hallo @all!
ich habe ein ziemlich dringendes problem, und zwar: THRAED’s. fuer mein vorhaben muss ich mit verschiedenen threads arbeiten. bisher habe ich alles in EIN (in zahlen 1) thread sprichen eine thread-funktion geschmissen. das muss anders werden. und zar mehrere threads mit unter schiedlichen prioritaeten. so weit so gut. und von der theorie her auch komplett klar. praktisch, hmm. gut. ich kann zumindest einen thread starten (_thread = AfxBeginThread(GrabberThread, (LPVOID)_threadData, liPriority). DOCH nun das problem: ich bekomme sie nicht sauber herunter gefahren, sprich beendet.
HANDLE hThread = _thread->m_hThread;
WaitForSingleObject(hThread, INFINITE);
obere 2 zeilen funktionieren nicht. dh den thread findet er zwar schon oder zumindest kann ein handle auf tatsache meinen thread erzeugen, jedoch das absterben des thread funktioniert nicht.
rufe ich die anweisung zum beenden des threads auf crashed das programm. die debug infos sind recht nichtssagend. die selbe anweisung habe ich auch in der OnExit funktion drin, jedoch hat er kein problem die anwendung zu schliessen. womoeglich hat das management von MFC da andere routinen, die meinen aufruf umgehen oder ueberschreiben.
ich muesste halt einen thread auch WAEHREND der laufenden appl zum stoppen bekommen. wie macht man das??
sorry fuer den langen text
gruss
hilmar