oder
Loggen Sie sich ein, um 1-Click® einzuschalten.
oder
Mit kostenloser Probeteilnahme bei Amazon Prime. Melden Sie sich während des Bestellvorgangs an. Erfahren Sie mehr
Alle Angebote
Möchten Sie verkaufen? Hier verkaufen
Programming Concurrency on the JVM: Mastering Synchronization, STM, and Actors
 
Größeres Bild
 
Den Verlag informieren!
Ich möchte dieses Buch auf dem Kindle lesen.

Sie haben keinen Kindle? Hier kaufen oder eine gratis Kindle Lese-App herunterladen.

Programming Concurrency on the JVM: Mastering Synchronization, STM, and Actors [Englisch] [Taschenbuch]

Venkat Subramaniam
3.0 von 5 Sternen  Alle Rezensionen anzeigen (2 Kundenrezensionen)
Statt: EUR 25,95
Jetzt: EUR 22,95 kostenlose Lieferung. Siehe Details.
Sie sparen: EUR 3,00 (12%)
  Alle Preisangaben inkl. MwSt.
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Auf Lager.
Verkauf und Versand durch Amazon.de. Geschenkverpackung verfügbar.
Nur noch 1 Stück auf Lager - jetzt bestellen.
Lieferung bis Mittwoch, 30. Mai: Wählen Sie an der Kasse Morning-Express. Siehe Details.

Wird oft zusammen gekauft

Kunden kaufen diesen Artikel zusammen mit Functional Programming for Java Developers: Tools for Better Concurrency, Abstraction, and Agility EUR 17,60

Programming Concurrency on the JVM: Mastering Synchronization, STM, and Actors + Functional Programming for Java Developers: Tools for Better Concurrency, Abstraction, and Agility
Preis für beide: EUR 40,55

Verfügbarkeit und Versanddetails anzeigen


Kunden, die diesen Artikel gekauft haben, kauften auch


Produktinformation

  • Taschenbuch: 270 Seiten
  • Verlag: Pragmatic Programmers (4. Oktober 2011)
  • Sprache: Englisch
  • ISBN-10: 193435676X
  • ISBN-13: 978-1934356760
  • Größe und/oder Gewicht: 22,9 x 19,1 x 2,7 cm
  • Durchschnittliche Kundenbewertung: 3.0 von 5 Sternen  Alle Rezensionen anzeigen (2 Kundenrezensionen)
  • Amazon Bestseller-Rang: Nr. 30.973 in Englische Bücher (Siehe Top 100 in Englische Bücher)

Mehr über den Autor

Venkat Subramaniam
Entdecken Sie Bücher, lesen Sie über Autoren und mehr

Besuchen Sie die Seite von Venkat Subramaniam auf Amazon

Produktbeschreibungen

Kurzbeschreibung

More than ever, learning to program concurrency is critical to creating faster, responsive applications. Speedy and affordable multicore hardware is driving the demand for high-performing applications, and you can leverage the Java platform to bring these applications to life. Concurrency on the Java platform has evolved, from the synchronization model of JDK to software transactional memory (STM) and actor-based concurrency. This book is the first to show you all these concurrency styles so you can compare and choose what works best for your applications. You'll learn the benefits of each of these models, when and how to use them, and what their limitations are. Through hands-on exercises, you'll learn how to avoid shared mutable state and how to write good, elegant, explicit synchronization-free programs so you can create easy and safe concurrent applications. The techniques you learn in this book will take you from dreading concurrency to mastering and enjoying it. Best of all, you can work with Java or a JVM language of your choice - Clojure, JRuby, Groovy, or Scala - to reap the growing power of multicore hardware. If you are a Java programmer, you'd need JDK 1.5 or later and the Akka 1. 0 library. In addition, if you program in Scala, Clojure, Groovy or JRuby you'd need the latest version of your preferred language. Groovy programmers will also need GPars.

Über den Autor

Brian P. Hogan arbeitet seit 1995 als freiberuflicher Webdesigner und Berater. Zurzeit beschäftigt er sich mit der Entwicklung von Web-Anwendungen mit Ruby, jQuery, HTML5 und CSS 3. Er liebt es, vor allem im Bereich Webdesign und -entwicklung IT-Schulungen zu geben und als Autor zu arbeiten. Außerdem setzt er sich für die Zugänglichkeit von Websites ein, insbesondere für Menschen mit Sehbehinderungen.

Welche anderen Artikel kaufen Kunden, nachdem sie diesen Artikel angesehen haben?


Tags, die Kunden mit diesem Produkt verbinden

 (Was ist das?)
Klicken Sie zum Suchen verwandter Artikel, Diskussionen oder Personen auf ein Tag.
 

 

Eine digitale Version dieses Buchs im Kindle-Shop verkaufen

Wenn Sie ein Verleger oder Autor sind und die digitalen Rechte an einem Buch haben, können Sie die digitale Version des Buchs in unserem Kindle-Shop verkaufen. Weitere Informationen

Kundenrezensionen

5 Sterne
0
4 Sterne
0
2 Sterne
0
1 Sterne
0
Die hilfreichsten Kundenrezensionen
Von kb
Format:Taschenbuch|Von Amazon bestätigter Kauf
Vorweg: Das Buch ist weder ein Ersatz für den Concurrency-Klassiker von Goetz et al. (Java Concurrency in Practice), noch eine tiefgehende Betrachtung irgendeiner Technologie wie STM oder Actors. Als Referenz taugt es überhaupt nicht.

Es ist eher als zusammenfassende Rundschau durch aktuelle Trends im JVM-Umfeld zu verstehen, darauf beschränkt ist es ganz OK und gibt anhand von Codebeispielen ein paar gute Grundlagen für eine genauere Analyse. Nebenbei schnappt man ein paar Dinge über Scala und Clojure auf und hat am Schluss zumindest eine Idee, was derzeit am Markt zum Thema Nebenläufigkeit passiert und wo die wichtigsten Vor- und Nachteile liegen. Das erspart mühsames Zusammensuchen im Web, aber tiefere Erkenntnisse gibt's keine.

Fazit: nicht schlecht, aber nicht viel dran.
War diese Rezension für Sie hilfreich?
2 von 3 Kunden fanden die folgende Rezension hilfreich
Format:Taschenbuch
Die Programmierung von parallelen und nebenläufigen Programmen mit Shared-Memory und Threads ist kompliziert und sehr fehleranfällig. Als Lösungsansätze wurden z. B. Software-Transactional-Memory (STM), Message-Passing-Architekturen und Aktoren-Modelle entwickelt.

In der Java Welt gibt es für die thread-basierte Shared-Memory-Entwicklung ab Java 5 bereits das Paket java.util.concurrent. Dieses wird nach einer Einführung in die nebenläufige Programmierung vom Autor auszugsweise auf ca. 40 Seiten vorgestellt. Hierbei stellt der Autor die Probleme gut dar, die durch Shared-Memory entstehen. Wer allerdings detailliertere Informationen sucht, sollte "Java Concurrency in Practice" von Goetz lesen (dieses steht auch so im Buch).

In Kapitel 6 erweckt der Autor bei der Einführung von STM den Eindruck, dass diese vom Entwickler der Sprache Clojure erfunden wurde. Das ist nicht der Fall und in einem wissenschaftlichen Buch muss hier kurz auf die Entwicklung von STMs eingegangen werden.

Allerdings ist dieses nicht die einzige Stelle, wo sich der Autor recht knapp hält. Man sieht an vielen weiteren Stellen Hinweise wie "Wer mehr wissen will, schaut doch besser in der Dokumentation nach".

Schön ist wiederum das Kapitel 7 in dem Beispiele von STM in Clojure, Groovy, Java, JRuby und Scala besprochen werden.

Aktoren werden in Kapitel 8 mit Hilfe der Akka-Bibliothek erklärt. Hier werden Java und Scala benutzt und ich habe mich die ganze Zeit gefragt, warum der Autor auch in Scala Akka benutzt und nicht die von Scala bereitgestellten Aktoren. Aber am Ende von Kapitel 9, in dem es weitere Beispiele für Aktoren in Groovy, Java und JRuby gibt, wurde ich dann aufgeklärt: Akka ist wesentlich performanter.

Auch hier wird ein Schwachpunkt des Buches sichtbar: es sieht an vielen Stellen so aus, als ob das Buch unter Eile fertiggestellt wurde. Insbesondere die Stellen für die Benutzung von Multiverse mit Java sind mir nicht klar geworden. Das liegt wahrscheinlich daran, dass für Multiverse kein eigenes Kapitel mit Beispielen vorhanden ist. So blieb mir der Satz "Akka uses Multiverse's Clojure-style STM for Java code" auf S. 103 ohne das Lesen der Multiverse-Doku unverständlich.

Eine weitere schwierige Stelle ist die Vorstellung der Clojure-STM auf S.94. Auch wirkt der Autor plötzlich nicht mehr kritisch, sondern sehr euphorisch und ich hatte für einen Augenblick das Gefühl, der Autor ist dem Thema STM nicht kritisch genug gegenüber eingestellt.

Da man das Buch aber ansonsten recht gut lesen kann und auch sehr viel über Aktoren und STM lernt, gebe ich 3 Sterne.
War diese Rezension für Sie hilfreich?
Die hilfreichsten Kundenrezensionen auf Amazon.com (beta)
Amazon.com:  6 Rezensionen
13 von 13 Kunden fanden die folgende Rezension hilfreich
An important work on a challenging topic 31. August 2011
Von Brian Tarbox - Veröffentlicht auf Amazon.com
Format:Taschenbuch
This book should be considered part of a two book series along with Venkat's 2009 book "Programming Scala: Tackle Multi-core Complexity on the JVM". The earlier book was a relatively short (250 pages versus 852 pages for Oderski's Scala book), perhaps too short, overview of Scala. It's 12 chapters skip over lots of the details in Oderski's 18 chapter book, and contains only a single chapter on Concurrent Programming.

By comparison the new book is all about Concurrent Programming models and attempts to be agnostic about the JVM language to be used. Most examples are first given in Java, then a simpler way is shown to do it in Scala, and then often a short section saying how the example could be done in Ruby.

The book describes the difficulties of concurrent programming in JVM languages especially given the rise of multi-core processors. It then describes three "solutions": the naïve Java approach, Software Transactional Memory and Actors. It should be noted that the Actors chapter is based on Akka, so if you don't care for Akka you may not like this book.

The Power and Perils of Concurrency - This should be an unsurprising recap of well known problems; if you're reading this book you will almost certainly have run into the problems listed here already.
Strategies for Concurrency - Talks about ways to divide problems into parts that can be computed independently

Modern Java/JDK Concurrency - This talks in detail about the changes made to the Java libraries to better support concurrency, specifically things like using ExecutorService rather than "new Thread()" and using Lock vs. synchronized. Interestingly though the chapter fails to discuss the little known but serious differences between synchronized blocks and methods involving fairness and barging.

Taming Shared Mutability - This chapter begins to offer the Scala kool-aid of mutability is bad. Reading this chapter is made easier if you've already read Goetz's "Programming Concurrency".

Software Transactional Memory - This chapter talks about Clojure's STM model and how to use it in Java via Akka. Its an interesting chapter but one that will feel odd if you're a programmer also coming to terms with non-relational databases. As databases move away from the transitional transactional model here comes STM bringing transactions to mutable variables.

Actor-based Concurrency - Actors are basically a message passing schema where immutable messages are passed between lightweight actors (thread-like). Just as you can use thread pools to reduce the cost of threads there are what amount to actor pools which lighten their cost. It does require some rethinking to embrace the actor approach.

Overall this is a fine book that brings quite a lot to the table. My only reservation would be that if you are a seasoned Java programmer you might take the first four sections as a given and jump right to the Actors approach. And if you're not a seasoned Java programmer you probably don't realize how badly you need this book.
2 von 2 Kunden fanden die folgende Rezension hilfreich
Example-driven approach to concurrency on the JVM (with Java, Scala, Clojure, Groovy and JRuby) 1. März 2012
Von Jacek Laskowski - Veröffentlicht auf Amazon.com
Format:Taschenbuch
The review is for the Beta version of "Programming Concurrency on the JVM: Mastering Synchronization, STM, and Actors" as of March 23, 2011 which I generously received from the publisher.

The book "Programming Concurrency on the JVM: Mastering Synchronization, STM, and Actors" focuses on three concurrency models - java.util.concurrent API, STM and actor-based concurrency model - to handle (or rather avoid) troubles with shared mutable, isolated mutable and purely immutable state. As the author points out in the Preface (page 10) "In this book, we'll take an example-driven approach to learn the three models" and he sticks to it. The example-driven approach is mostly based upon Java and Scala with two dedicated chapters for the other JVM languages - Clojure, Groovy and JRuby. You'll find enough to get up to speed with Akka/Multiverse and very few words about GPars.

The author makes it crystal clear that he's "written this book for experienced Java programmers who are interested in learning how to manage and make use of concurrency on the JVM, using languages like Java, Clojure, Groovy, JRuby and Scala" (page 10). You won't find an explanation between multithreaded and concurrent application. You won't find the book very in-depth into concurrency either. The book's, however, sufficient to let you be aware of concurrency issues and how to tackle or, better, avoid them.

While I was reading the Preface I set out the reading plan for the book that assumed to have started off with the chapters 1-3 and have jumped right into Clojure's STM (the chapters 6-7) which I was the most interested in. The whole plan felt down right after the chapter 2 when I found out I'd been better off following along the book order. It paid off very well. The vivid, lively and often humorous writing style invites for further reading and has an extraordinary hypnotic quality. Chances are a chapter or two will not suffice for a single uninterrupted reading session. Many complete yet succinct examples don't let you get bored, and the languages as well as the intensive introduction to Akka set my mind racing all the time. The book flattens the learning curve of concurrency on the JVM substantially.

No idiomatic code, no introduction to any of the languages, no unnecessary import statements in the code listings, just a bare minimum for a topic at hand. The book's very informative, succinct and concise. Recommendations for effective concurrent applications are everywhere. The book's fully packed with them. The figures, the surprisingly large number of examples are all in the book to lend a helping hand. If that'd not been enough, the book provides eye-opening examples from real life and book references. Learning by examples is constantly utilized. Very handy examples; no clutter, just code that's necessary to get the point across. People who're not accustomed with Clojure, Scala, Groovy or JRuby may find the examples a bit uneasy and suffer a great pain wondering if nothing's missed. There're some language terms that are not explained yet extensively used or referred to (to me Scala's trait was the most mysterious term which I had a vague understanding of).

The respective language chapters - the chapters 7 and 9 - follow the same scheme to explain a topic, so reading their sections one by one will quickly reveal the similarity and may turn out a bit boring or even annoying. The author did make it clear in the opening section when he wrote "Focus on the sections related to the languages you're interested in, and feel free to skip the others." (page 152).

You can gain proficiency in Java concurrency quickly, perhaps too quickly for some. People who need elaborative, almost academic treatment of the topic will not find much in here. If your goal's to hone in on concurrency with code samples, the book will make it quick and easy. Be careful, though, as the examples are often quite intensive on using a language and anonymous, inner classes, generics and traits are the norm.

As a side-effect, I learnt that "Groovy is not thrilled to see" package objects in Scala, learnt about JRuby's wrapping exceptions into NativeException or importing Scala's package classes woes in Java. I'm encouraged to give Scala a serious try, too.

The book gradually develop a reasonable level of competence in concurrency on the JVM. It's so vigilant to ensure necessary details are all in one place easily found and comprehensible. Sufficiently in-depth to build a confidence in designing highly concurrent applications or tackling concurrency issues.

It's not uncommon to find one or two ending sections as a sort of summary for the entire chapter. The Recap's are often too short and with the previous summary-like sections seems unnecessary, but quite a few can also be used as a single-page, one-stop reference to be printed out and hang on the wall.

I enjoyed a great deal of excellent technical writing. The book brought more knowledge than I could digest upon a single reading. It's very language-rich and therefore mind-twisting's incurred. Rest assured you'll find plenty of useful information to introduce in your code right away.

Opt to read the book and it will reward you with a couple of ready-to-apply advices to set out a smooth sail to the world of concurrency on the JVM. To put it simply, I love it and will surely get back to it often.
2 von 2 Kunden fanden die folgende Rezension hilfreich
Extremely good book, very clear handling of complex subject 2. Februar 2012
Von D. Fancellu - Veröffentlicht auf Amazon.com
Format:Taschenbuch
I can highly recommend this book. It takes a more modern view of concurrency than Java Concurrency in Practice, being 6 years later. It explains how to do "multi-threading" in the old mutable style, but recommends for obvious reasons newer approaches such as Immutability, STM and Actors.

Code is polyglot, focusing mainly on Java then Scala but bringing in other JVM languages as well. I never at any point felt lost or confused, and the code examples are extensive. It is also the first book I've read that gives any serious guide to using Akka, both from Java and Scala.

Certainly one of the best "Java" books I've read in years.
Kundenrezensionen suchen
Nur in den Rezensionen zu diesem Produkt suchen

Kunden diskutieren

Das Forum zu diesem Produkt
Diskussion Antworten Jüngster Beitrag
Noch keine Diskussionen

Fragen stellen, Meinungen austauschen, Einblicke gewinnen
Neue Diskussion starten
Thema:
Erster Beitrag:
Eingabe des Log-ins
 


Aktive Diskussionen in ähnlichen Foren
Kundendiskussionen durchsuchen
Alle Amazon-Diskussionen durchsuchen
   
Ähnliche Foren


Lieblingslisten


Ähnliche Artikel finden


Anhand des Sachgebietes nach ähnlichen Produkten suchen:


Ihr Kommentar


Datenschutzerklärung von Amazon.de Versandbedingungen von Amazon.de Umtausch- & Rücknahme bei Amazon.de