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 

Dieses Thema hat akzeptierte Lösungen:

Drei Queues in einer While-Schleife mit case-Struktur



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!

14.05.2017, 11:05
Beitrag #3

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
RE: Drei Queues in einer While-Schleife mit case-Struktur
(13.05.2017 12:30 )EinVolvic schrieb:  Frage 1: Ich habe gelesen, dass die Consumer-While-Schleife normalerweise immer auf die Queue-Daten wartet bevor sie ihren Inhalt ausführt.
Das kann man so machen - muss aber nicht. Theoretisch kann die While-Schleife viele Sachen machen - eine davon wäre die Queue-Daten zu verarbeiten.

Zitat:Wie verhält sie sich bei zwei oder drei Queues?
Siehst du, und genau deswegen sind mehr als eine Queue problematisch.

Zitat:Weißt die Schleife, dass sie für das Ausführen der case-Struktur sowohl die Daten-Queue als auch die Steuerleitung-Queue braucht und wartet dementsprechend?
Die Schleife weiß genau das, was du in sie hineinprogrammierst - sie hat also keine Eigenintelligenz ...

Zitat:Frage 2: Gibt es eine Möglichkeit dem Consumer den Selektorwert nur einmal mitzuteilen (bei Änderung)? Sodass sie nicht mehr auf die Steuerleitung zu warten braucht
Es ist alles nur eine Sache der Umsetzung des Algorithmus, den du dir ausgedacht hast. Du brauchst also einen entsprechenden Algorithmus.

Zitat:wäre evtll. dadurch sogar schneller?
Hinweis: Schneller (bzw. Kürzer) ist nicht immer das beste Kriterium: Debugfähigkeit und Modularität gehen vor ...

Zitat:Frage 3: Ist die While-Schleife mit case-Struktur günstiger für die Programmlaufzeit als zwei While-Schleifen ohne case-Struktur?
Praktischerweise ja: Eine While-Schleife muss immer ihren kompletten Inhalt verarbeiten. Wenn man den Inhalt komplett oder auch nur teilweise in eine Case-Struktur verteilen kann, so kann man zu bestimmten Zeiten nur das tun, was für diesen Zeitpunkt notwendig ist. Da man dann nicht mehr alles tut, wird auch die Verarbeitungszeit kürzer.

Hinweis:
While-Schleife mit Case-Sequenz heißt (gegebenenfalls) Statemachine - macht sind in jedem Programm immer sehr gut.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
RE: Drei Queues in einer While-Schleife mit case-Struktur - IchSelbst - 14.05.2017 11:05

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Ansteuerung von drei DACs Rumo 15 11.778 11.06.2021 15:50
Letzter Beitrag: GerdW
  Case-Struktur: Angegebener Case nicht vorhanden braendy 10 5.123 02.02.2021 15:05
Letzter Beitrag: Lucki
  Case Struktur 2 Schleifendurchläufe verzögert True setzen aber sofort auf False bachatero18 4 4.647 07.11.2020 14:08
Letzter Beitrag: Martin.Henz
  CAN Nachrichten in Array verarbeiten und aus Case Struktur weiterverarbeiten Tomate27 4 3.779 17.07.2020 13:30
Letzter Beitrag: Tomate27
  Steuerung, Case-Struktur pixie_2 4 3.334 16.04.2020 14:30
Letzter Beitrag: GerdW
  Probleme mit Queues und Programmaufbau stefan1312 6 4.596 30.10.2018 17:08
Letzter Beitrag: NoWay

Gehe zu: