(Moderator)
Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
Delphi 2007 Enterprise
|
Re: Thread Error: Zugriff verweigert (5) ?
7. Jun 2007, 06:19
Vermutlich beendet sich der Thread gerade selbst. Wenn Du ihn dann aufwecken oder schlafen legen willst, dann geht das natürlich nicht mehr.
Ich würde mit Suspend und Resume *nicht* arbeiten, weil man eben nicht weiss, was der Thread gerade macht. Ich verwende dafür fast ausschließlich Workerthreads. Die warten mit Hilfe eines Synchronisationsobjects (Semphore) auf Arbeit. Dieses Warten verbrät keine CPU-Zeit (WaitForSingleObject). Wenn Jemand möchte, da der Thread einen Job übernimmt, dann teilt er ihm das mit. Daraufhin wird die Semaphore gezuppelt, der Thread erwacht *genau an der definierten Stelle* aus seinem Dornröschenschlaf, nimmt den Job entgegen und arbeitet ihn ab.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
|