Advertisement

Botschaftenaustausch

  • Christian Maurer
Chapter

Zusammenfassung

Alle bisher vorgestellten programmiersprachlichen Konstruktionen synchronisieren Prozesse bei ihrem Zugriff auf gemeinsame Variable, setzen also gemeinsamen Speicher voraus. Für verteilte Anwendungen wird aber ein Paradigma benötigt, bei dem Prozesse darauf nicht angewiesen sind: die Kommunikation durch den Austausch von Botschaften.

Das Kapitel beginnt mit der Einführung von Kanälen und der Definition des synchronen und asynchronen Botschaftenaustauschs, einfachen Beispielen dazu und eleganten Anwendungen dieser Konzepte: der Konstruktion von Semaphoren, beschränkten Puffern und Netzwerken von Filtern. Danach wird ,,selektives Warten“ vorgestellt, das dem Botschaftenaustausch die Ausdruckskraft aller anderen Synchronisationskonstrukte verleiht und die Einführung des Kunden-Anbieter-Paradigmas ermöglicht. In Go lässt sich auch ,,bewachtes selektives Warten“ realisieren, was sehr zur Übersichtlichkeit von Algorithmen beiträgt. Zu beiden Konzepten folgen wieder viele aus den vorigen Kapiteln bekannte Beispiele. Den Schluss des Kapitels bildet der Beweis der Äquivalenz der Ausdrucksstärke von Semaphorkonzept und Botschaftenaustausch sowie eine konzise Gegenüberstellung der Sprachmittel des Monitorkonzepts und des Kunden-Anbieter-Paradigmas.

Literatur

  1. 1.
    Andrews, G.R.: Concurrent Programming, Principles and Practice. Addison-Wesley, Menlo Park (1991)zbMATHGoogle Scholar
  2. 2.
    Ben-Ari, M.: Grundlagen der Parallelprogrammierung. Hanser, München (1984)Google Scholar
  3. 3.
    Buckley, G.N., Silberschatz, A.: An effective implementation for the generalized input-output construct of CSP. ACM Trans. Program. Lang. Syst. 5, 223–235 (1983). https://doi.org/10.1145/69624.357208 CrossRefGoogle Scholar
  4. 4.
    Burns, A., Davies, G.: Concurrent Programming. Addison-Wesley, Harlow (1993)zbMATHGoogle Scholar
  5. 5.
    Hoare, C.A.R.: Communicating sequential processes. Commun. ACM 21, 666–677 (1978). https://doi.org/10.1145/359576/359585 CrossRefGoogle Scholar
  6. 6.
    Lauer, H.C., Needham, R.M.: On the duality of operating system structures. In: Proceeding of Second International Symposium, IRIA (1978), reprinted in: ACM SIGOPS Oper. Syst. Rev. 13, 3–19 (1979). https://doi.org/10.1145/850656.850658

Copyright information

© Springer Fachmedien Wiesbaden GmbH, ein Teil von Springer Nature 2019

Authors and Affiliations

  • Christian Maurer
    • 1
  1. 1.Institut für InformatikFreie Universität BerlinBerlinDeutschland

Personalised recommendations