LabVIEWForum.de - Semaphore

LabVIEWForum.de

Normale Version: Semaphore
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

kann es sein, dass LabVIEW bei der Verwendung von Semaphore die wartenden Tasks in zufälliger Reihenfolge aufweckt und es dadurch passieren kann, dass ein wartender Task mehrmals hintereinander leer ausgeht?

Somit wäre eine zugesicherte Laufzeitaussage bei der Verwendung vom Semaphore nicht möglich.

Im Voraus vielen Dank
Alex
' schrieb:ein wartender Task mehrmals hintereinander leer ausgeht?


Was meinst du damit?
Ich glaube die Tasks werden zwar in ungeordnet aufgeweckt, aber es kann nicht passieren dass, wenn zwei Tasks auf eine Semaphore warten die Task 1 zwei mal abgefragt(aufgeweckt) wird und die Task 2 nicht mal 1 mal.

Ab LV 8.0 kannst du die Prioritäten der Tasks festlegen(soweit ich weiss). Ich habe es aber noch nie gebraucht.

Gruss, Eugen
Hallo,

bei mir warten 6 Tasks auf den Zugriff auf einen gemeinsamen Datenbereich (jeder Taks muss periodisch auf diesen Datenbereich zugreifen). Somit wartet der Task der soeben Zugriff hatte kurze Zeit später wieder, um auf den gemeinsamen Datenbereich zu zugreifen.

Wird der Task, der aufzuwecken ist, immer per Zufall bestimmt, könnte einer oder mehre Task eine Zeitlang leer ausgehen. -Darum dir Frage

Im Voraus vielen Dank
Alex
Dann mach doch sechs Semaphoren. Also für jede Task eine eigene.

Gruss
Referenz-URLs