INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Semaphoren per Variable setzen



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

04.08.2009, 11:01
Beitrag #3

rolfk Offline
LVF-Guru
*****


Beiträge: 2.306
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
Semaphoren per Variable setzen
' schrieb:Benutze an jeder Stelle, an der Du die Semphore benutzen möchtest, das VI "Obtain Semaphore Reference" und einen Namen für die Semaphore. So musst Du nix über Variablen oder Drähten verteilen und hast eine Reference auf die Semaphore.

Also erstens sollte man zu jedem Create Semaphore auch ein Destroy Semaphore tun. Die Semaphore selber ist zwar bedingt durch den Namen immer dieselbe aber sie merkt sich wie oft jemand sie "obtained" hat und wird erst wirklich freigegeben wenn die Applikation abgeschlossen wird oder wenn die letzte Referenz geschlossen wird. Zudem verbraucht jede Referenz auf eine Semaphore oder andere Objekte etwas Speicher für die Referenz selber.

Zweitens sollte an einer Stelle am Anfang in der Applikation eine entsprechende "named" Semaphore erzeugt werden die erst am Ende der Applikation wieder freigegeben wird. Das stellt sicher das diese Semaohore im Speicher bleibt auch wenn sie anderenorts regelmässig erzeugt und wieder freigegeben wird.

Drittens muss die erste Erstellung der Semaphore an einer Stelle im Program sein die Objekt nicht mehr nötig ist. Das gilt übrigens für alle refnum based Objekte in LabVIEW. Erstellen davon in einem Hierarchy Context der irgendwann Idle wird, hat automatisch die zwangsweise Zerstörung des entsprechenden Objektes zur Folge auch wenn diese Objekt irgendwo anders etwa durch globale Variablen noch verwendet wird.

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
Semaphoren per Variable setzen - Corono - 04.08.2009, 08:31
Semaphoren per Variable setzen - rolfk - 04.08.2009 11:01
Semaphoren per Variable setzen - Corono - 04.08.2009, 17:04

Gehe zu: