Wenn wir jetzt zusätzlich nicht wollen, daß der Producer-Task direkt mit dem Buffer-Task über Rendezvous verbunden ist, so können wir noch einen Transporter zwischen diesen beiden Tasks einfügen (siehe Abb. 19.5).
Abbildung 19.5: Ein Buffer und zwei Transporter als Zwischen-Tasks
Dadurch ist auch der Producer-Task kein rufender Task mehr, sondern
er wird vom Transporter aufgerufen. Nun können der Producer-Task
und der Consumer-Task sehr unabhängig voneinander arbeiten. Wenn
der Produzent mit seiner Arbeit fertig ist, schickt er das entsprechende
Element mittels des Transporter-Task's an den Buffer. Wenn der
Konsument so weit ist, daß er das nächste Element bearbeiten kann,
so bekommt er es vom Transporter, ohne mit dem Buffer ein Rendevous einzugehen.