next up previous
Next: Synchrone Kommunikation Up: Synchronisierungsmechanismen Previous: Gegenseitiger Ausschluß

Asynchrone Signale

Ein relativ einfacher und mächtiger Mechanismus sind asynchrone Signale. Wie in Abbildung 7.1 dargestellt, kann ein Sender jederzeit an eine andere Partei (im Diagramm als Empfänger bezeichnet) ein Signal absenden. Der Sender kann anschließend seine Tätigkeit ungehindert fortsetzen, während das Signal (typischerweise mit Informationen behaftet) zeitversetzt bei dem Empfänger eintrifft.

Der Empfänger hat sich möglicherweise vorher darauf vorbereitet und angegeben, daß er auf eine bestimmte Sorte von Signalen (möglicherweise auf beliebige Signale) zu reagieren bereit ist und solange wartet, bis eines eintrifft. Wenn der Empfänger wegen dem eingetroffenen Signal aufgeweckt wird, kann er sich damit beschäftigen. Eine Rückantwort ist in diesem Grundmechanismus nicht vorgesehen, jedoch anschließend unter Ausnutzung der gleichen Technik mit vertauschten Rollen natürlich realisierbar. Verschiedene Möglichkeiten bestehen, wenn der Empfänger nicht vorbereitet ist: So könnte das Signal einfach ignoriert werden oder in einem Puffer warten, bis sich der Empfänger später dafür interessiert.

Wenn asynchrone Signale nicht nur der Informationsübermittlung dienen, sondern auch einen bestimmten Status bei gemeinsamen Ressourcen anzeigen, dann sind sie mit Vorsicht zu genießen, da eine Bedingung bezüglich der gemeinsamen Ressource, die zum Absendezeitpunkt noch zutraf, noch vor dem Eintreffen beim Empfänger sich durch die weiteren Aktivitäten des Absenders ändern kann. Ein Nachweis des Gegenteils ist nicht immer leicht zu führen.

Asynchrone Signale werden seltener als Grundlage eines Sprachmittels verwendet - die in mehrfacher Hinsicht ungewöhnliche objekt-orientierte Programmiersprache Actor von Tomlinson ist eine Ausnahme.


next up previous
Next: Synchrone Kommunikation Up: Synchronisierungsmechanismen Previous: Gegenseitiger Ausschluß
Andreas Borchert
2/2/1998