4D v17.4

Use...End use

Home

 
4D v17.4
Use...End use

Use...End use  


 

 

Die Syntax der Struktur Use...End use lautet:

 Use(Shared_object_or_Shared_collection)
    statement(s)
 End use

Die Struktur Use...End use definiert eine Folge von Anweisungen, die unter dem Schutz einer internen Semaphore Aufgaben für den Parameter Shared_object_or_Shared_collection ausführen. Shared_object_or_Shared_collection kann jedes gültige shared object bzw. shared collection sein.

Shared objects und shared collections wurden zur Kommunikation zwischen Prozessen eingerichtet, insbesondere Preemptive 4D Prozesse. Sie lassen sich per Referenz als Parameter von einem Prozess zu einem anderen übergeben. Weitere Informationen dazu finden Sie auf der Seite Shared Objects und Shared Collections. Änderungen in shared objects/collections müssen zwingend in die Struktur Use...End use eingebettet werden, um konkurrierenden Zugriff zwischen Prozessen zu verhindern.

  • Bei erfolgreicher Ausführung der Zeile Use werden alle Shared_object_or_Shared_collection Eigenschaften/Elemente für alle anderen Prozesse im Schreibmodus gesperrt, bis die dazugehörige Zeile End use ausgeführt ist.
  • Der dazwischenliegende Teil statement(s) kann Änderungen in den Eigenschaften/Elementen von Shared_object_or_Shared_collection ohne das Risiko konkurrierender Zugriffe ausführen.
  • Werden ein anderes Objekt oder eine Collection als Eigenschaft des Parameters Shared_object_or_Shared_collection hinzugefügt, werden sie mit derselben gemeinsam genutzten Gruppe verbunden (siehe Shared Objects oder Collections verwenden).
  • Versucht ein anderer Prozess, auf eine der Eigenschaften bzw. der verbundenen Eigenschaften von Shared_object_or_Shared_collection zuzugreifen, während eine Sequenz Use...End use ausgeführt wird, wird er automatisch angehalten und wartet, bis die aktuelle Sequenz abgeschlossen ist.
  • Die Zeile End use entsperrt die Eigenschaften Shared_object_or_Shared_collection und alle Objekte, die sich den gleichen Sperrschlüssel (locking identifier) teilen.
  • Im 4D Code können auch mehrere Strukturen Use...End use eingebunden sein. In diesem Fall werden alle Sperrungen gestapelt und Eigenschaften/Elemente erst nach Ausführen der letzten Zeile End use freigegeben.

Hinweis: Verändert eine Collection Methode (siehe Collection Methoden) eine shared collection, wird beim Ausführen der Methode für die shared collection automatisch ein internes Use aufgerufen.



Siehe auch 

Shared Objects und Shared Collections

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Grundbegriffe

 
SEITENINHALT 
 
GESCHICHTE 

Erstellt: 4D v16 R6

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v17)
4D Programmiersprache ( 4D v17.1)
4D Programmiersprache ( 4D v17.2)
4D Programmiersprache ( 4D v17.3)
4D Programmiersprache ( 4D v17.4)