' schrieb:OK.... aber wie realisierst du eine Kommunikation über zwei (oder mehr) parallel laufende Whileschleifen??? Immer mit Queue?
Immer mit Queue. Oder mit Melder. Eben je nach dem.
Eine Queue verwende ich, wenn ich eine
Aufgabe vergebe, die
genau einmal abgearbeitet werden
muss. Eine bestimmte Aufgabe darf ja eben nur genau einmal gemacht werden: Init, Create etc. Einmal aus der Queue herausen, gilt die Aufgabe als erledigt. Queue-Inhalte kann man (per Definition) nicht überschreiben.
Ein Melder verwende ich, wenn ich
Daten für die Allgemeinheit so mal eben
in den Raum stellen will. Wen die Melderdaten nicht interessieren, der muss sie ja nicht ansehen. Wer sie brauchst, hat - per Definition - immer die aktuellen Daten. Daten, sie aus einem Melder gelesen werden, bleiben im Melder erhalten, sodass sie von mehreren gelesen werden können. Melder-Inhalte können überschrieben werden.
Man kann zwischen unabhängigen While-Schleifen Daten auch per Lokaler (innerhalb VI) oder Globaler (zwischen verschiedenen VIs) Variablen übertragen. Das geht zwar schneller zu programmieren, hat aber prinzpielle Nachteile: Race-Condition! (<= mach dich mal schlau, wichtiger Punkt in Datenfluß (wie auch in textbasiert)).
Gegen mal eben schnell eine Lokale Variable - so z.B. Stopp - hab ich ja nix einzuwenden - außer den Styleguide.