LabVIEWForum.de
Semaphore - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Semaphore (/Thread-Semaphore)



Semaphore - Feno - 20.09.2006 10:42

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


Semaphore - eg - 20.09.2006 10:57

' 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


Semaphore - Feno - 20.09.2006 11:13

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


Semaphore - eg - 20.09.2006 12:11

Dann mach doch sechs Semaphoren. Also für jede Task eine eigene.

Gruss