Damit die Performance-Moglichkeiten moderner Multicore-Rechner effizient genutzt werden, muss die Software dafur entsprechend entworfen und entwickelt werden. Fur diese Aufgabe bietet insbesondere Java vielfaltige Konzepte an. Das Buch bietet eine fundierte Einfuhrung in die nebenlaufige Programmierung mit Java. Der Inhalt gliedert sich dabei in funf Teile: Im ersten Teil wird das grundlegende Thread-Konzept besprochen und die Koordinierung nebenlaufiger Programmflusse durch rudimentare Synchronisationsmechanismen erlautert. Im zweiten Teil werden weiterfuhrende Konzepte wie Threadpools, Futures, Atomic-Variablen und Locks vorgestellt. Erganzende Synchronisationsmechanismen zur Koordinierung mehrerer Threads werden im dritten Teil eingefuhrt. Teil vier bespricht das ForkJoin-Framework, die Parallel Streams und die Klasse CompletableFuture, mit denen auf einfache Art und Weise nebenlaufige Programme erstellt werden konnen. Im funften Teil findet der Leser Beispiele fur die Anwendung der vorgestellten Konzepte und Klassen. Dabei werden auch das Thread-Konzept von JavaFX und Android sowie das Programmiermodell mit Aktoren vorgestellt. Der Anhang enthalt einen Ausblick auf Java 9, das bezuglich des Concurrency-API kleine Neuerungen bringt. Alle Codebeispiele stehen auf der Webseite zum Buch zum Download bereit.