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 

Producer-Consumer in einer dritten Hauptschleife



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!

20.10.2010, 15:47 (Dieser Beitrag wurde zuletzt bearbeitet: 20.10.2010 16:14 von Lucki.)
Beitrag #2

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Producer-Consumer in einer dritten Hauptschleife
Das kommt darauf an.

Es spricht ganz schwer etwas dagegen, wenn der Datenaustausch über lokale Variable erfolgt. Dann ist die Synchronisation nicht gegeben. Der Producer produziert ohne Rücksicht auf Verluste in seinem Takt darauf los, und der Consumer liest, ja nachdem ob seine Schleife schneller oder langsamer läuft, entweder Werte doppelt oder gar nicht. Dann ist die Zusammenlegung von beidem in einer einzigen Schleife das einzig Wahre.

Bei Verwendung eine Queue zu Übertragung gibt es aber Vorteile bei dieser Struktur.
Z.B. dieses Szenarium:
Die Producer erzeugt gleichmäßig Werte. Der Consumer ist im allgemeinen schneller als der Producer. Solange das der Fall ist, befindet sich in der Queue immer höchstens 1 Element.

Nur manchmal, so sei jetzt mal angenommen, braucht der Consumer länger und ist langsamer als der Producer (wenn z.B. etwas abzuspeichern ist). In diesem Fall macht der Producer gleichmäßig weiter, lediglich die Queue, die sonst immer nur höchsten ein Element enthält, füllt sich mit mehreren Elementen an. Bei den folgenden Zyklen leert sich dann die Queue wieder.

Bei Verzicht auf die Queue und Zusammenlegung von Producer und Consumer in eine einzige Schleife würde der Producer in seiner Erzeugung hingegen sofort gestoppt, wenn der Consumer zur Verarbeitung der Daten mal etwas länger braucht.

Edit: Habe wohl nur Bekanntes gesagt, es ging ja eigentlich um die dritte Schleife ganz außen. Die wird ja nicht mehr durchlaufen, solange die Datenerfassung läuft.
Weder läßt sich die Datenerfassung dann abstoppen noch das ganze Programm beenden. Das sind aber alles nur Hürden für den Anfänger, wie Supergurus haben da natürlich unsere Tricks im Beutel, um das Problem zu lösen Mellow
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
Producer-Consumer in einer dritten Hauptschleife - Lucki - 20.10.2010 15:47

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Queue verwendung in komplexer Producer/Consumer Abhängigkeit Ksanto 8 5.749 03.04.2017 20:14
Letzter Beitrag: Ksanto
  Producer/Consumer? Neon88 2 5.200 12.09.2012 17:07
Letzter Beitrag: Neon88
  Producer-Consumer Struktur ThermoHiwi 4 5.630 28.04.2011 11:14
Letzter Beitrag: ThermoHiwi
  Pausieren von parallel ablaufenden Producer/Consumer Schleifen Aleph1 19 15.716 24.06.2010 12:38
Letzter Beitrag: Aleph1
  Producer-Consumer Struktur Labneuling 3 6.806 28.05.2010 17:41
Letzter Beitrag: eg
  Producer Consumer zum Messdaten speichern JangoXP 3 4.078 28.08.2008 08:23
Letzter Beitrag: JangoXP

Gehe zu: