LabVIEWForum.de
Prozesse priorisieren - Druckversion

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



Prozesse priorisieren - Hasenfuss - 29.04.2013 12:44

Ich habe ein Programm, dass aus mehreren Komponenten besteht. Eine davon besteht aus einer Datenaufzeichnungsfunktion, in der empfangene Messwerte gleich in eine Datei geschrieben werden.

Die Anweisung lautet - der Schreibprozess für das Datenabspeichern soll bevorzugte Priorität haben. In dem Prozess werden alle 100ms in einer while-Schleife (gesteuert durch ein Warten) Messwerte von der Hardware angefordert, die dann als Array ankommen und in die Datei geschrieben werden.

Bei den Ausführungsoptionen bei einem VI kann ich Prioritäten setzen (siehe Bild). Wenn ich diesen Prozess auf zeitkritisch (höchste Prio) einstelle, hab ich dann damit die Anforderung erfüllt oder gibt es noch etwas anderes, was ich beachten muss, wenn ich an diesen Ausführungsoptionen etwas dran herumschraube?

Über eine Antwort würde ich mich sehr freuen.


RE: Prozesse priorisieren - GerdW - 29.04.2013 13:17

Hallo Hasenfuss,

Zitat:Wenn ich diesen Prozess auf zeitkritisch (höchste Prio) einstelle, hab ich dann damit die Anforderung erfüllt
Die Prio ist der letzte Punkt, an dem man schrauben sollte...
Die Prio setzt du über die Wartezeit. Da die Daten zum Speichern wohl in einer Queue ankommen (?), werden die Daten doch schon effizient gesammelt. Deine Loop muss nun nur regelmäßig prüfen, ob neue Daten in der Queue anstehen und dies speichern...

Zitat:oder gibt es noch etwas anderes, was ich beachten muss, wenn ich an diesen Ausführungsoptionen etwas dran herumschraube?
Du kannst dir so ruckzuck deine anderen Threads lahmlegen. Wenn deine Speicherroutine (aus welchen Gründen auch immer) viel Rechenzeit belegt, kommen deine niedrig-priorisierten Threads nicht mehr an die Reihe - bis hin zum Deadlock...

Priorisierungen etc. sind wirklich ein Thema für Fortgeschrittene. Schau dir mal die Ausführungen an, die dazu auf dem letzten Anwendertreffen gegeben wurden!
Grundaussage des Vortrags war: "Ja, man kann daran rumdrehen - aber man sollte es besser nicht tun..."


RE: Prozesse priorisieren - Hasenfuss - 29.04.2013 13:53

Hallo GerdW,

vielen Dank für Deine Antwort. Also war es gut, dass ich einfach mal nachgefragt hab, bevor ich etwas anklicke, wovon ich nicht genau weis, was es für Konsequenzen haben kann. Ich bleibe bei Deiner Empfehlung "... aber man sollte es besser nicht tun".