Thema: Delphi Rekursion unterdrücken

Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#8

AW: Rekursion unterdrücken

  Alt 12. Mai 2014, 10:30
Du solltest auch beachten, daß der Lock nicht zwingend an eine einzelne Methode gebunden ist. So würde es z.B. bei einem Listenobjekt nicht reichen, die Methoden Add und Delete mit jeweils einem getrennten Lock zu versehen. Vielmehr müssen die beiden auf denselben Lock verweisen. Beim Multi-Threading synchronisiert man nicht die Methoden, sondern die gemeinsam verwendeten Ressourcen. Methoden mit ihren lokalen Variablen und Parametern sind von Haus aus thread-safe. Im Allgemeinen nicht thread-safe ist der Zugriff auf Variablen, die außerhalb der Methoden deklariert sind. Mit deinem Ansatz deckst du nur den seltenen Spezialfall ab, daß diese Variablen ausschließlich von einer deiner Methoden verwendet werden. Das solltest du in deinem Design vorsehen, selbst wenn es zur Zeit nicht relevant ist.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat