New PDF release: Programming Concurrency on the JVM: Mastering

By Venkat Subramaniam

ISBN-10: 193435676X

ISBN-13: 9781934356760

More than ever, studying to software concurrency is important to making swifter, responsive purposes. quick and reasonable multicore is using the call for for high-performing purposes, and you'll leverage the Java platform to deliver those purposes to life.

Concurrency at the Java platform has developed, from the synchronization version of JDK to software program transactional reminiscence (STM) and actor-based concurrency. This publication is the 1st to teach you most of these concurrency kinds so that you can evaluate and select what works most sensible in your purposes. You'll research some great benefits of every one of those versions, whilst and the way to take advantage of them, and what their barriers are.

via hands-on routines, you'll methods to keep away from shared mutable nation and the right way to write strong, dependent, specific synchronization-free courses so that you can create effortless and secure concurrent functions. The suggestions you research during this booklet will take you from dreading concurrency to learning and having fun with it. better of all, you could paintings with Java or a JVM language of your selection - Clojure, JRuby, Groovy, or Scala - to harvest the growing to be energy of multicore hardware.

when you are a Java programmer, you'd want JDK 1.5 or later and the Akka 1.0 library. furthermore, if you happen to application in Scala, Clojure, Groovy or JRuby you'd want the newest model of your chosen language. Groovy programmers also will desire GPars.

Show description

Read Online or Download Programming Concurrency on the JVM: Mastering Synchronization, STM, and Actors PDF

Similar java books

Anirvan Chakraborty, Jessica Ditt, Aleksa Vukotic, Jan's Pro Spring 2.5 PDF

The Spring Framework 2. five unencumber displays the cutting-edge in either the Spring Framework and company Java frameworks as an entire. A guidebook to this serious device is critical interpreting for any conscientious Java developer. — Rob Harrop, writer of professional Spring The circulation from so–called heavyweight architectures, reminiscent of firm JavaBeans, towards light-weight frameworks, like Spring, has no longer stopped on account that professional Spring used to be released through Rob Harrop and Jan Machacek in 2005; in truth, it’s picked up velocity.

Pro Spring 2.5 (Books for Professionals by Professionals) by Anirvan Chakraborty, Jessica Ditt, Aleksa Vukotic, Jan PDF

The open resource agile light-weight Spring (meta) Framework 2. five is via a long way the top leading edge strength and “lightning rod” that’s using today’s Java undefined. Spring has time and time back confirmed itself in real-world hugely scalable company settings resembling banks and different monetary associations.

Download e-book for kindle: Restlet in Action Developing RESTful web APIs in Java by Jerome Louvel

Restlet in motion will get you begun with the Restlet Framework and the remaining structure kind. Youll create and set up purposes in checklist time whereas studying to take advantage of renowned RESTful net APIs successfully. This publication appears to be like on the many points of net improvement, on either the server and purchaser aspect, besides cloud computing, cellular Android units, and Semantic internet functions.

Extra info for Programming Concurrency on the JVM: Mastering Synchronization, STM, and Actors

Example text

First, we have to schedule the parts across threads. Second, we have to receive the partial results from each part to calculate the total asset value. We may have as many divisions as the number of stocks for this problem. We need to maintain a pool of threads to schedule these divisions on. Rather than creating and managing individual threads, it’s better to use a thread pool—they have better life cycle and resource management, reduce startup and teardown costs, and are warm and ready to quickly start scheduled tasks.

We could use the JDK CompletionService for this. We’ll revisit this concern and look at some alternate solutions later. Let’s switch gears and analyze the speedup. 3 Speedup for the IO-Intensive App The nature of IO-intensive applications allows for a greater degree of concurrency even when there are fewer cores. When blocked on an IO operation, we can switch to perform other tasks or request for other IO operations to be started. We estimated that on a two-core machine, about twenty threads would be reasonable for the stock total asset value application.

So, appending to a list is a constant-time operation for all practical purposes. Inserting elements into arbitrary index position will be slightly more expensive. However, depending on the position, we will need some extra partial copying. Unaffected nodes and their descendents are shared intact. 7 Selecting a Design Approach We can avoid most of the issues with concurrency by opting for isolated mutability or pure immutability. For the most part, it’s easier to program with isolated mutability than with pure immutability.

Download PDF sample

Programming Concurrency on the JVM: Mastering Synchronization, STM, and Actors by Venkat Subramaniam

by John

Rated 4.75 of 5 – based on 14 votes