O'Reilly logo

Der Weg zum Java-Profi by Michael Inden

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

7.3.4 Unerwartete IllegalMonitorStateExceptions

Beim Einsatz von Multithreading und der Kommunikation von Threads treten zum Teil unerwartet java.lang.IllegalMonitorStateExceptions auf. Manche Entwickler sind dann ratlos. Wie kann es dazu kommen?

Eine solche Exception wird dadurch ausgelöst, dass der Thread, der eine der Methoden wait(), notify() bzw. notifyAll() aufruft, zu der Zeit nicht den Lock des zugehörigen Objekts besitzt. Diese Tatsache kann zur Kompilierzeit nicht geprüft werden und führt erst zur Laufzeit zu der genannten Exception.

Ein kurzes Beispiel hilft dabei, diesen Sachverhalt zu verstehen. In nachfolgendem Listing wird über das Objekt lock synchronisiert und auch der Aufruf von notifyAll() geschieht augenscheinlich auf diesem ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required