INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Liste mit events abarbeiten



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

26.09.2010, 14:28
Beitrag #6

Matze Offline
LVF-Team
LVF-Team

Beiträge: 1.027
Registriert seit: Apr 2010

20xx
2010
DE_EN

7xxxx
Deutschland
Liste mit events abarbeiten
' schrieb:Was ist eigentlich eine race-condition, die du erwähnt hast?
Frei definiert: Race Condition bedeutet, dass du keinen festen Ablauf deiner SubVIs programmiert hast, der dazu führen kann, dass dein Code fehlerhaft ausgeführt wird. D.h. es kann vorkommen, dass bei dir ein SubVI vor einem anderen ausgeführt wird oder dass du Werte zu früh in Variablen einliest. Was nicht der Fall sein darf, da sonst irgend etwas schief geht. D.h. du kannst - je nach Situation - z.B. den Anschluss des Error-Clusters verwenden, um eine definierte Ablaufreihenfolge zu bestimmen.
Oft treten Race-Condition dann auf, wenn irgendetwas parallel programmiert ist, was nicht parallel ausgeführt werden darf. Oder bei der Verwendung lokaler/globaler Variablen. Diese werden z.B. eingelesen und haben so einen altern Wert statt einen neuen.
Wikipedia erklärt das Ganze ausführlicher.

' schrieb:Oder die producer-consumer-Struktur?
Die zu dt. Erzeuger-Verbraucher-Struktur besteht aus 2 parallelen Schleifen, die über Queues miteinander kommunizieren (in LabVIEW gibt es dafür eine Vorlage).

Beispiel: Es gibt eine Ereignisstruktur. Der dort auszuführende Code braucht recht lange und in der Zeit wäre die Oberfläche nicht benutzbar, da nicht auf neue Ereignisse reagiert werden kann.
Sauber programmiert geht das mit der angesprochenen Producer-Consumer-Struktur.
Die Erzeuger-Schleife enthält eine Ereignisstruktur und reagiert auf Benutzereingaben. Diese werden per Queues an die Verbraucherschleife weitergeleitet, die den eigentlichen Code ausführt. Da beide Schleifen parallel ablaufen, bekommt die Erzeuger-Schleife die Benutzeraingaben auch dann (für den Anwender sichtbar) mit, wenn die Verbraucher-Schleife noch arbeitet.
Näheres findest du z.B. auf ni.com (englisch).

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
Antwort schreiben 


Nachrichten in diesem Thema
Liste mit events abarbeiten - Chem_e - 25.09.2010, 17:36
Liste mit events abarbeiten - GerdW - 25.09.2010, 18:12
Liste mit events abarbeiten - Chem_e - 25.09.2010, 18:22
Liste mit events abarbeiten - GerdW - 25.09.2010, 18:47
Liste mit events abarbeiten - Chem_e - 26.09.2010, 13:08
Liste mit events abarbeiten - Matze - 26.09.2010 14:28
Liste mit events abarbeiten - Chem_e - 26.09.2010, 20:24
Liste mit events abarbeiten - GerdW - 27.09.2010, 08:30
Liste mit events abarbeiten - Chem_e - 28.09.2010, 19:38
Liste mit events abarbeiten - Falk - 28.09.2010, 20:19
Liste mit events abarbeiten - Chem_e - 28.09.2010, 20:57
Liste mit events abarbeiten - Falk - 28.09.2010, 21:10
Liste mit events abarbeiten - Chem_e - 02.10.2010, 16:08

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
Question NI-DCPower; Events bei Sequenz GI 0 3.029 22.08.2017 11:23
Letzter Beitrag: GI
  Seriell auf Events warten J. S. 1 4.300 15.01.2010 16:58
Letzter Beitrag: Y-P

Gehe zu: