Thema: Delphi Critical Sections

Einzelnen Beitrag anzeigen

Muetze1
(Gast)

n/a Beiträge
 
#4

Re: Critical Sections

  Alt 7. Jan 2008, 14:40
Zitat von Sämy:
Ok, dann blockiert eine Criticalsection also nur andere Prozesse, während dessen der, der die Criticalsection als erstes betritt, diese noch weitere Male betreten kann?
Es geht nicht um den Aufrufer sondern um die Critical Section. Lege jedesmal in deinem ersten Beispiel eine neue Instanz an und du bekommst den Dead Lock.

Ich kapiere grundsätzlich nicht, warum man einen Destruktor mehrfach aufrufen sollte. Der Destruktor ist genauso wieder Konstruktor eine spezielle Methode und von daher solltest du deine Critical Sections und Sicherheiten nicht im Destruktor bauen sondern ausserhalb in einer Methode und dann entsprechend der Bedingungen einmalig den Destruktor aufrufen.

Du kannst mit einem Exit einen aufgerufenen Destruktor schlecht rückgängig machen bzw. abbrechen. Das ist in so fern schon eine schlechte Wahl der Programmierung. Bau dir eine Methode (nenne sie z.B. FreeInstance) und baua dort deine Critical Sections und wenn die Instanz dann wirklich weg kann/soll, dann rufe dort den Destruktor auf.
  Mit Zitat antworten Zitat