next up previous contents index
Weiter: 19.2.1 Enge Bindung Hinauf: Entwurf von Echtzeit- Zurück: 19.1 Das asymmetrische

19.2 Das Produzent/Konsument-Problem

Beim Entwurf von Echtzeit- und Automatisierungssystemen tritt ein Problem recht häufig auf: Daten werden von einem Prozeß generiert (produziert) und von einem anderen verarbeitet (konsumiert). Daher leitet sich der Name Produzent/Konsument-Problem (producer/consumer problem)  ab. In Abbildung 19.1 steht

 
Abbildung 19.1: Produzent/Konsument-System 

P für Producer und C für Consumer. Der Pfeil mit dem Ringerl an einem Ende zeigt die Richtung des Datenflusses an, der normale Pfeil, welcher Prozeß welchen Prozeß aufruft.

Schon an so einem einfachen Problem kann man durch unterschiedliche Programmierung verschiedene Grade von Bindung   zwischen zwei Tasks vorführen, wobei die Entscheidung, welcher Task ein aufrufender und welcher ein aufgerufener ist, von entscheidender Bedeutung ist (vgl. [NS88]). Klarerweise kann man sich statt Tasks auch immer entsprechende Objekte denken, wir behalten nur der Einfachheit halber eine Ada-ähnliche Notation bei.





Johann Blieberger
Wed Feb 11 09:58:52 MET 1998