Thema: Delphi Rekursion unterdrücken

Einzelnen Beitrag anzeigen

Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#5

AW: Rekursion unterdrücken

  Alt 11. Mai 2014, 23:46
Ah, jetzt verstehe ich vermutlich, was du vorhast: Jeder übergebenen Funktion wird in deiner Funktion ein Lock zugeordnet.

Aber wie gesagt: Ein Deadlock muss nicht auftreten, wenn du rekursive Synchronisierungsmittel benutzt.
Zitat:
After a thread obtains ownership of a mutex, it can specify the same mutex in repeated calls to the wait-functions without blocking its execution. This prevents a thread from deadlocking itself while waiting for a mutex that it already owns.
Zitat:
When a thread owns a critical section, it can make additional calls to EnterCriticalSection or TryEnterCriticalSection without blocking its exe
Wenn du trotzdem noch Rekursion feststellen möchtest, bleibt mein Vorschlage der Gleiche:
Merke dir pro Lock bzw. Methode, welcher Thread der Besitzer ist (sollte ja nur einer sein). Wenn es der gerade eintretende Thread ist, kannst du deine Exception werfen.
  Mit Zitat antworten Zitat