Asynchrone Kommunikation

Unter asynchroner Kommunikation versteht man in der Informatik und Netztechnik einen Modus der Kommunikation, bei dem das Senden und Empfangen von Daten zeitlich versetzt und ohne Blockieren des Prozesses durch bspw. Warten auf die Antwort des Empfängers (wie bei synchroner Kommunikation der Fall) stattfindet.

Die asynchrone Kommunikation ist nicht zu verwechseln mit dem Begriff asynchrone Datenübertragung; dieser bezieht sich auf Medienzugriffsverfahren.

Beispiele für asynchrone Kommunikation zwischen Menschen sind

Viele Groupwaresysteme verfügen über proprietäre Dienste zum Versenden und Empfangen von Nachrichten.

Insbesondere im beruflichen Kontext bietet asynchrone Kommunikation das Potenzial von Effizienzsteigerungen gegenüber synchroner Kommunikation. Der Informationsempfänger benötigt die Informationen häufig nicht in dem Moment, in dem sie durch den Sender zur Verfügung gestellt werden. In einer asynchronen Kommunikationsform werden die Informationen zentral zur Verfügung gestellt (z. B. durch ein Enterprise-Content-Management) und durch den Empfänger bei Bedarf abgefragt. Dieses Konzept bietet die Möglichkeit z. B. die Anzahl von Meetings zu reduzieren.

Implementierung

Select(/poll)-Schleifen

Unter Unix- und BSD-Betriebssystemen kann der Syscall select verwendet werden, der einen Prozess anhält, bis eine Ressource zugänglich geworden ist. Einige Unix-Derivate bieten besser skalierende Funktionen, wie z. B. epoll unter Linux, kqueue unter FreeBSD, und /dev/poll bei Solaris.

Callback-Funktionen

Verfügbar unter Mac OS, VMS und Windows

Leichte Prozesse

Light-weight processes (LWPs) stammen ursprünglich von Plan 9

Channel I/O

Verfügbar bei Großrechnern, bei denen der Koprozessor die Interrupts übernimmt.

Registered I/O

Verfügbar unter Windows Server 2012 und Windows 8

Literatur

  • Ralf Reichwald (Hrsg.): Mobile Kommunikation. 1. Auflage, Verlag Th. Gabler, Wiesbaden 2002, ISBN 978-3-409-11865-1.
  • Klaus Beck: Computervermittelte Kommunikation im Internet. R. Oldenbourg Verlag, München 2006, ISBN 978-3-486-57891-1.
  • Martina Dittler: Computervermittelte Kommunikation in netzbasierten Lernszenarien. Herbert Utz Verlag, München 2002, ISBN 3-8316-0131-3.
  • Gernot Starke: Effektive Softwarearchitekturen. 7. überarbeitete Auflage, Carl Hanser Verlag, München 2015, ISBN 978-3-446-44361-7.
  • Peter Mandl, Andreas Bakomenko, Johannes Weiss: Grundkurs Datenkommunikation. 2. Auflage, Vieweg + Teubner Verlag, Wiesbaden 2010, ISBN 978-3-8348-0810-3.

Siehe auch

  • Nicht-blockierende Synchronisation

Weblinks