Objekte sperren

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Gleichzeitigen Zugriff vermeiden

Einige Objekte verfügen über einen integrierten Sperrmechanismus, der die Ausführung anderer Threads verhindert.

Beispielsweise besitzen Zeichenflächenobjekte (TCanvas und seine Nachkommen) eine Methode namens Lock, die den Zugriff anderer Threads auf die Zeichenfläche erst dann gestattet, wenn die Methode Unlock aufgerufen wird.

Die Objekthierarchie der VCL enthält das thread-sichere Listenobjekt System.Classes.TThreadList. Ein Aufruf von LockList gibt einerseits das Listenobjekt zurück und hindert andererseits weitere Threads am Zugriff auf die Liste, bis die Methode UnlockList aufgerufen wird. Aufrufe von TCanvas.Lock oder TThreadList.LockList können sicher geschachtelt werden. Die Sperre wird erst dann wieder aufgehoben, wenn sämtliche Aufrufe von LockList innerhalb desselben Thread durch einen Aufruf von UnlockList neutralisiert wurden.

Siehe auch