Peer-to-Peer und Grid-Computing

Concurrent Java - Teil 5: Das Nested Monitor Problem

JavaSPEKTRUM - Ausgabe 05/2004
Titelthema: Peer-to-Peer und Grid-Computing

Leseprobe: In unserem letzten Artikel haben wir uns angesehen, wie ein Thread durch Aufruf der Methode Object.wait() auf das Eintreten einer logischen Bedingung warten kann, die ihm ein anderer Thread durch Aufruf der Methode Object.notify() oder Object.notifyAll() signalisiert. Dabei haben wir für das Warten und Signalisieren mehrerer logischer Bedingungen immer nur ein einziges Bedingungsobjekt verwendet. In diesem Artikel wollen wir uns ansehen, warum man das so macht bzw. warum die Verwendung mehrerer Bedingungsobjekte bei der Benutzung von wait() und notify() (bzw. notifyAll()) in der Regel zu Problemen (dem so genannten Nested-Monitor-Problem) führt. Am Ende des Artikels schauen wir uns dann noch an, wie die Neuerungen im JDK 1.5 dazu führen, dass das bisherige Standardvorgehen bei der Benutzung von Bedingungen in Java sich geändert hat.

Autor(en): Angelika Langer, Klaus Kreft

Artikeljahresübersichten JavaSPEKTRUM 2004

Print-Ausgabe kaufen und weiterlesen Hier lesen