Einzelnen Beitrag anzeigen

Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#1

Synchronize unterbricht innerhalb einer CriticalSection

  Alt 8. Okt 2008, 14:43
hallo erst mal,

und zwar stehe ich zurzeit vor dem folgenden problem: ich habe eine log-klasse, welche ich im hauptthread erzeuge. in dieser habe ich eine methode, welche nur von einem thread gleichzeitig ausgeführt werden darf, da diese über kritische sektionen geschützt ist.

nun kann thread2 eben über die entsprechende methode diese methode auch aufrufen und eben in ein listview und eine datei loggen.

mein problem tritt nun auf, wenn thread1 (=hauptthread) einen fehler meldet, d.h. die kritische sektion der log-klasse betritt und gleichzeitig thread2 ein synchronize aufruft. in der synchronisierten methode rufe ich ebenfalls den log-befehl auf und was passiert: es wird unendlich gewartet, da die ausführung von thread1 unterbrochen wurde und somit die kritische sektion nicht mehr verlassen wurde.

ist das ein generelles problem, das ich irgendwie umgehen muss, oder gibt es für sowas eine abhilfe?

mit freundlichen grüßen
pfäffle armin
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat