O'Reilly logo

Nebenläufige Programmierung mit Java by Manh Tien Tran, Jörg Hettel

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

8 Lock-Objekte und Semaphore

Um einen Codeblock gegen konkurrierende Zugriffe zu schützen, wurde bis jetzt das Schlüsselwort synchronized verwendet, das automatisch eine Sperre anfordert. Dieses implizite Sperren ist von der Benutzung her zwar elegant, führt aber auch zu einigen Einschränkungen:

  • Ein auf die Sperre wartender Thread kann nicht unterbrochen werden. Wenn er im Warteraum ist, hat ein interrupt-Aufruf keine direkte Wirkung. Erst wenn er in den synchronized-Block eintritt und auf eine »interrupt-sensitive« Methode trifft, wird der Interrupt verarbeitet.

  • Es ist bei synchronized kein Timeout vorgesehen. Die Wartezeit eines Threads kann somit nicht begrenzt werden. Er kann daher eventuell sehr lange blockiert werden.

  • Es ist nicht klar, ...

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