 | Ein unidirektionaler Kommunikationskanal verbindet
einen Produzenten, der in den Kanal schreibt, mit einem
Konsumenten, der aus dem Kanal liest.
|
 | Beispiel: Pipeline unter UNIX
|
 | Die Speicherkapazität des Kanals ist beschränkt,
d.h. der Produzent kann nicht beliebig viel in den
Kanal schreiben, ohne daß jemals etwas vom Konsumenten
gelesen wird.
|
 | Bei Pipelines unter UNIX liegt die Speicherkapazität
typischerweise bei vier Kilobytes.
|
 | Will der Konsument lesen, ohne daß etwas im Kanal
vorliegt, wird er schlafen gelegt, bis der Produzent
neue Eingaben generiert.
|
 | Umgekehrt wird der Produzent schlafen gelegt, wenn
er den bereits vollständig gefüllten Kanal weiter füllen
möchte.
|
 | Wenn der Produzent die Verbindung schließt, kann der
Konsument noch den bestehenden Inhalt des Kanals auslesen
und beobachtet dann ein Ende der Eingabe.
|
 | Wenn der Konsument die Verbindung schließt, erfährt
dies der Produzent über Fehler beim Schreiben.
|