Semaphore Einsatz...

Hallo zusammen,

nutzt ihr einen Semaphore um das Script von anderen Aufrufen kurzweilig zu blockieren?

Momentan bin ich gerade dabei meine Licht Ansteuerungen etc. umzubauen.
Durch den Umbau ergibt sich das ich alle meine Wünsche mit einem Script abdecken kann.
Das Script benötige ich aber an sehr vielen Stellen. Um sicher zu stellen bzw. wenn ich
im Script was ändere das ich dann nicht in unendlich vielen Scripten alle Anpassungen durchziehen muss.

Setzt ihr den Semaphore so auch ein ?

Gruß
MacToolz

Ja, ich benutze es in einigen Modulen, hauptsächlich an stellen in denen ich eine Konfiguration ändere. Damit stelle ich sicher das eine Änderung abgeschlossen ist bevor ein neuer Aufruf der betreffenden Funktion erfolgt.
CU Xaver

Hallo,

der Einsatz von einem Semaphore macht der auch Sinn wenn man nur eine Funktion in einem Script implementiert hat ?.

Gruß
MacToolz

Da Scripte parallel gestartet werden können , also theoretisch gleichzeitig , kommt es auf dein Script an.
Der Sinn ist ja folgender.

in deiner Funktion liest du zb. Daten aus einer Quelle (1) und verarbeitest diese.
Dafür benötigt deine Funktion , wenn auch nur wenig, Zeit (2)
nach der Bearbeitung speichert deine Funktion die Daten wieder (3)

Wird dein Script bzw Funktion während diese Zeit(2) durch ein Ereignis nochmals aufgerufen (parallel)
liest sie die Daten(1) eventuell bevor der erste Aufruf die Daten gespeichert hat(3).
Dadurch arbeitet Sie mit alten werten und kann, je nach Komplexität , falsche Ergebnisse liefern.

In der Regel kommt dieser Fall jedoch selten vor. Je länger jedoch deine Funktion/Script zum bearbeiten der Daten braucht
desto größer wird die Möglichkeit eines parallelen Aufrufs.

Ich hoffe es ist einigermaßen verständlich :confused:

Xaver

Sehr praxisnah und für mich verständlich erläutert :+1:t2:
Gruss lueralba

Hi,

okay danke …

Gruß