Kanal

Kanäle dienen dem Austausch von Nachrichten. Nachrichten sind S-Expressions, sie werden mit send-on-channel in einen Kanal geschrieben und mit receive-from-channels wieder gelesen.

Das Lesen blockiert, solange keine Nachricht im Kanal vorhanden ist und auch kein Sender eine Nachricht schreiben will. Das Schreiben blockiert, wenn die Kapazität des Kanals (die maximale Zahl von wartenden Nachrichten) ausgeschöpft ist und kein Empfänger eine Nachricht lesen will.

Kanäle können geschlossen werden. Danach ist ein Lesen oder Schreiben nicht mehr möglich.

Folgende Funktionen stehen für die Kommunikation über Kanäle bereit:

make-channel,
receive-from-channels,
send-on-channel,
close-channel und
closed-channel?.