Registriert seit: 26. Mai 2004
3.159 Beiträge
|
Re: Timeout für sich aufhängenden Thread/Timeout allgemein
19. Mär 2009, 08:50
das problem ist doch, wie pro_rj schon richtig erkannt hat, dass sich der thread, auf den gewartet wird (egal in welcher art und weise), sich aufhängt, egal aus welchen gründen.
wie kann ich so einen thread auf normale art und weise beenden?
das habe ich schon getestet und das geht nicht:
- Thread.Free;
- FreeAndNil(Thread);
- Thread.Terminate();
- Thread.DoTerminate;
- TerminateThread(ThreadHandle, 0);
diese WaitFor...-methode bringt hier ja auch nichts, da der thread dadurch ja auch nicht zwangsweise beendet und dessen speicher wieder freigegeben wird.
wie könnte ich sonst noch an das problem heran gehen, außer den umweg über einen externen prozess?
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
|