Buy new:
$74.99
FREE delivery Monday, August 19
Ships from: Amazon.com
Sold by: Amazon.com
$74.99
FREE Returns
FREE delivery Monday, August 19
Or Prime members get FREE delivery Wednesday, August 14. Order within 12 hrs 12 mins.
Only 1 left in stock - order soon.
$$74.99 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$74.99
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Ships from
Amazon.com
Ships from
Amazon.com
Sold by
Amazon.com
Sold by
Amazon.com
Returns
30-day refund/replacement
30-day refund/replacement
This item can be returned in its original condition for a full refund or replacement within 30 days of receipt.
Returns
30-day refund/replacement
This item can be returned in its original condition for a full refund or replacement within 30 days of receipt.
Payment
Secure transaction
Your transaction is secure
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
Payment
Secure transaction
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
$67.36
FREE Returns
Cover and pages with normal signs of wear. May contain some underlines/highlights/handwriting. Good condition. Cover and pages with normal signs of wear. May contain some underlines/highlights/handwriting. Good condition. See less
FREE delivery Tuesday, August 20
Or Prime members get FREE delivery Wednesday, August 14. Order within 2 hrs 57 mins.
Only 1 left in stock - order soon.
$$74.99 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$74.99
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Access codes and supplements are not guaranteed with used items.
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

Concurrent Programming in Java : Design Principles and Pattern, 2nd Edition 2nd Edition

4.2 4.2 out of 5 stars 52 ratings

{"desktop_buybox_group_1":[{"displayPrice":"$74.99","priceAmount":74.99,"currencySymbol":"$","integerValue":"74","decimalSeparator":".","fractionalValue":"99","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"ZVVBE39UwbRZeLJIqyQqV%2FslxUVkQ%2FfZjI%2FMdUlvbS6cQyVfn0oQilDStU%2FkGy8EOAXM4lHluionQ%2Bs%2BC5ajNh7yRQlhwOiAzzdoTWFIwphQV2yzsdMGhkYjIhVl7E84rGhvXz8FMus%3D","locale":"en-US","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}, {"displayPrice":"$67.36","priceAmount":67.36,"currencySymbol":"$","integerValue":"67","decimalSeparator":".","fractionalValue":"36","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"ZVVBE39UwbRZeLJIqyQqV%2FslxUVkQ%2FfZWIr3RaueZA725gfjuUbqPnyb2r8PMwPYRYA%2F%2BGpUPS7CAcuG9Cs0tQETAoWOi6jSVnjF%2B%2BrVZXd%2Fig0CJ1aTvPmbs7obl5hLCQJpZ4v3HfDt07V977v5ONVHE%2Fs13NblP0u3Jkzky5v%2FwS8RAWx8i1xDhNa%2BMmiI","locale":"en-US","buyingOptionType":"USED","aapiBuyingOptionIndex":1}]}

Purchase options and add-ons

  • One of Java's most powerful capabilities is its built-in support for concurrent programming, a design technique in which multiple concurrent activities-threads take place inside a single Java program. Thread programming enables developers to design applications that are more responsive to user demands, faster, and more easily controlled.
  • This book offers comprehensive coverage of this vital aspect of the Java language. The book is completely up-to-date with the new thread model that is now incorporated into the most recent version of the Java Virtual Machine. All Java programmers interested in doing concurrent programming must understand these new concepts. The book approaches the topic from a design pattern point of view. It introduces and summarizes Java's concurrency support, shows readers how to initiate, control, and coordinate concurrent activities, and offers numerous recipe-like techniques for designing and implementing Java structures that solve common concurrent programming challenges. Specifically, the book presents important strategies for avoiding the inconsistencies that can crop up in multi-threaded programs, addresses the concept of "liveness"-how to ensure that all threads in use are kept active simultaneously, examines state-dependent action, and demonstrates effective methods for handling user requests in a multi-threaded environment.


Amazon First Reads | Editors' picks at exclusive prices

Frequently bought together

This item: Concurrent Programming in Java : Design Principles and Pattern, 2nd Edition
$74.99
Get it as soon as Monday, Aug 19
Only 1 left in stock - order soon.
Ships from and sold by Amazon.com.
+
$24.38
In Stock
Sold by MK Express Buy and ships from Amazon Fulfillment.
+
$29.47
Get it as soon as Tuesday, Aug 20
Only 1 left in stock - order soon.
Sold by Teresa Mart and ships from Amazon Fulfillment.
Total price:
To see our price, add these items to your cart.
Details
Added to Cart
spCSRF_Treatment
Some of these items ship sooner than the others.
Choose items to buy together.

Editorial Reviews

Amazon.com Review

Concurrent Programming in Java, 2nd Edition surveys a wide field of research in parallelism and concurrency and shows how to do more with multithreading in Java with dozens of patterns and design tips. Written for the advanced Java developer, this book offers a comprehensive tour of leading-edge thinking about parallel coding processes.

Within the dozens of techniques and tips offered here, this book accomplishes at least two goals. First, it shows how concurrency is implemented by default within Java, with material on how built-in features (like the synchronized keyword and its memory model) can be expected to perform when dealing with multiple threads. Naturally, Java threads themselves are also covered, including priorities, scheduling, and the like.

Much of this book looks at ways to improve performance of concurrent code beyond the simple default strategies. After defining criteria for measuring concurrent code (such as safety and "liveness," a measure of running live threads effectively), the book presents dozens of techniques for letting threads work together safely. For the working Java programmer, coverage of patterns that have been implemented in the downloadable java.concurrency package will be the most immediately useful. (Within this nearly encyclopedic survey, short code snippets are used for every pattern and concept.)

Though theoretical at times, this book offers plenty of ideas and sample code to get you started thinking of ways to improve multithreaded code.

Impressively comprehensive, Concurrent Programming in Java offers a veritable bible of techniques for doing two things at once with threads in Java. It's a worthwhile guide to the state-of-the-art strategies for improving the performance of your Java threads. --Richard Dragan

Topics covered: Threads and concurrency in Java, design considerations (safety, liveness, and performance), Before/After Patterns, layering, adapters, immutability and synchronization, deadlock, resource ordering, the Java Memory Model and concurrency, using the java.concurrency package, confinement, refactoring for concurrency, mutexes, read-write locks, recovering from failure, notifications, semaphores, latches, exchanges, transactions, one-way messages, worker threads, polling and event-driven I/O, parallelism techniques (fork/join, computation trees, and barriers), Communicating Sequential Processes (CSP).

From the Back Cover

In this second edition, you will find thoroughly updated coverage of the Javao 2 platform and new or expanded coverage of:

  • Memory model
  • Cancellation
  • Portable parallel programming
  • Utility classes for concurrency control

The Java platform provides a broad and powerful set of APIs, tools, and technologies. One of its most powerful capabilities is the built-in support for threads. This makes concurrent programming an attractive yet challenging option for programmers using the Java programming language.

This book shows readers how to use the Java platform's threading model more precisely by helping them to understand the patterns and tradeoffs associated with concurrent programming.

You will learn how to initiate, control, and coordinate concurrent activities using the class java.lang.Thread, the keywords synchronized and volatile, and the methods wait, notify, and notifyAll. In addition, you will find detailed coverage of all aspects of concurrent programming, including such topics as confinement and synchronization, deadlocks and conflicts, state-dependent action control, asynchronous message passing and control flow, coordinated interaction, and structuring web-based and computational services.

The book targets intermediate to advanced programmers interested in mastering the complexities of concurrent programming. Taking a design pattern approach, the book offers standard design techniques for creating and implementing components that solve common concurrent programming challenges. The numerous code examples throughout help clarify the subtleties of the concurrent programming concepts discussed.



0201310090B04062001

Product details

  • Publisher ‏ : ‎ Addison-Wesley Professional; 2nd edition (October 25, 1999)
  • Language ‏ : ‎ English
  • Paperback ‏ : ‎ 432 pages
  • ISBN-10 ‏ : ‎ 0201310090
  • ISBN-13 ‏ : ‎ 978-0201310092
  • Item Weight ‏ : ‎ 1.5 pounds
  • Dimensions ‏ : ‎ 7.3 x 1 x 9.1 inches
  • Customer Reviews:
    4.2 4.2 out of 5 stars 52 ratings

Customer reviews

4.2 out of 5 stars
52 global ratings

Top reviews from the United States

Reviewed in the United States on April 11, 2003
Concurrent programming is fraught with peril. It's much more complex than sequential programming in every meaningful way from specification to unit testing. But if you want to do it right, meaning balancing liveness with safety for efficient and robust multi-threaded applications, you need Doug Lea's "Concurrent Programming in Java". Especially if you need to design an extensible framework with concurrency; well-known examples of such frameworks incluce Swing, most of java.net, and just about every aspect of J2EE.
Lea provides an intense introduction at the level of an advanced undergraduate course. It's fairly academic in tone, because he takes the time to provide thorough definitions and detailed examples. As a former academic who now designs and programs for a living, this is just what I was looking for. But don't buy this book expecting a cookbook of code to cut and paste. It's much more about providing you the fundamental tools to design your own concurrent classes, applications and frameworks.
Lea presupposes the user is fluent in Java, knows a bit about concurrent programming patterns involving mutexes, semaphores, etc, and is familiar with the basic object-oriented design patterns. If you're not up to speed in these areas, the path I followed was reading the following:
* Lewis's "Threads Primer" (warning: it's C/unix-based),
* Gosling and Joy's "Java Programming Language",
* Bloch's "Effective Java", and
* Gamma et al.'s "Design Patterns".
Even if you don't buy this book, consider using Lea's concurrent.util package available from his web site. It provides solid implementations of everything from simple mutexes to concurrent read-single write wrappers for Java collections (Sun's own wrappers simply synchronize all methods, which suffers reduced liveness compared to CRSW designs). And it's both elegantly designed and thoroughly javadoc-ed.
The first edition was great, and I've just finished reading the second edition cover to cover and it has taken my understanding of concurrent design to a new level. Just be warned that this book's not for novices or hobbyists; it's for programmers who need to design the guts of concurrent systems the "right" way and then implement them in Java, especially for extensible frameworks.
28 people found this helpful
Report
Reviewed in the United States on November 6, 2011
Before ths book, I was excited by "Programming with Posix Threads".

although this book was published in 1999 ,

Java Concurrency Implementation has been great resource for me.

if new language is created sometimes,

I would like to write book like this as long as it is possible . ^^;
One person found this helpful
Report
Reviewed in the United States on July 13, 2013
The book is great. It has a lot of good concepts in it. You will learn a lot from this book. Just be prepared ... it is pretty heavy. The way it is structured and written can be tough to read, but once you get comfortable with the style, you will learn a lot. If it was easier to read, I would give it 5 stars!
2 people found this helpful
Report
Reviewed in the United States on October 7, 2013
The book is very good in explaining the details of Java concurrency model. It is pretty old, but that is good too, because instead of simply describing new solutions, it actually explains why these new solutions were necessary in the first place.
2 people found this helpful
Report
Reviewed in the United States on June 1, 2013
It's the worst book of all the tech books I have read. No proper organizing. You dont feel like reading this book at all when you start. The content is clumsy.
Reviewed in the United States on January 9, 2006
This is the best book I have ever read on threading, and certainly applies well to other languages naturally (especially languages with a modern and mature thread library like Mono/.NET). Unlike other reviewers here, I encourage so-called "beginners" to read this book. He has plenty of examples so you will not get lost, and this *is* the right way to do things, so start with this one.
3 people found this helpful
Report
Reviewed in the United States on February 22, 2016
Book is a little dated now but the principles in this book are still sound. Writing is informative and coherent. Would recommend.
One person found this helpful
Report
Reviewed in the United States on August 23, 2002
This book is thick, dense, and not as good as other's think it is. (But it isn't without value to the RIGHT audience).
In summary:
The write style makes it hard to read.
The organization makes it hard to read.
Don't kid yourself that this is anything other than a book about Java multi-threading
There is more theoretical information in here then you are likely to find in other Java multi-threading books if you can slug your way through it. (and I mean useful theoretical information).
If this is your first try into multi-threading you should probably look elsewhere. (I would only rate this book as a two star for beginners).
The details:
The book is written in a very academic style like a very long conference paper. Now don't get me wrong, I get tired of the O'Reilly down home writing style after a while as well, but I have seen better writing (through not by my hand) that makes things clear and easy to understand. I think one of the reasons this book is dense is that the writing is not as clear or as well organized as it should be.
While there are many parts of this book that do apply to multi-threading in general a lot of it does not. Believe it or not but the Win32 API provides a vastly superior threading library than Java does. (I don't know if this is part of Java's keep it very, very simple design philosophy, the need to run on many platforms so use the least common denominator approach, or something else. I do wish SUN would fix the threading API like they fixed the first Java windowing api however since it is frustrating to work with). So there is a lot in the book that does not apply to C++ multi-threading on Windows (and I suspect most versions of UNIX as well) and since the author does not mention what is and is not applicable I would NOT recommend this book as a general multi-threading theory book thinking you can apply what is in here to other languages and platforms blindly. (You could end up doing something the hard slow way because you are unaware of the fact that you can wait on several locks at once in other platforms - as only one example).
Now don't get me wrong, if you are doing Java multi-threading only and you want a strong theoretical base to work from and you have the time to sit down and read this book, I'd say it's worth it. If you need to know the basics in a hurry you may want to look elsewhere. (Somebody else here mentioned Oaks & Wong - I haven't read that book but it might be worthwhile as the first read on the topic).
I would not read this as my first book on multi-threading. If you've done multi-threading work in Java or on other platforms then this could be your first book on Java multi-threading.
25 people found this helpful
Report

Top reviews from other countries

Translate all reviews to English
Gerardo Nieto Lopez
1.0 out of 5 stars Pésimo producto.
Reviewed in Mexico on June 30, 2020
El libro es impreso de impresora y no imprenta. Esta maltratado y sucio. La peor compra que pudiera realizarse.
Customer image
Gerardo Nieto Lopez
1.0 out of 5 stars Pésimo producto.
Reviewed in Mexico on June 30, 2020
El libro es impreso de impresora y no imprenta. Esta maltratado y sucio. La peor compra que pudiera realizarse.
Images in this review
Customer image Customer image Customer image Customer image Customer image
Customer imageCustomer imageCustomer imageCustomer imageCustomer image
Sagar R. Kapadia
5.0 out of 5 stars Five Stars
Reviewed in India on December 23, 2016
Excellent
Bandidoz
5.0 out of 5 stars Excellent
Reviewed in the United Kingdom on January 8, 2015
I very nearly didn't buy this book on the basis of many reviews here, however I decided to take a punt and have a look.

I was astonished to find that I *really* got on well with this book; much of the philosophy makes perfect sense, the examples are lucid and the explanations are thorough.

Perhaps this book is not for the faint hearted, but as an experienced developer I found this book to be exactly what I was looking for in terms of how to properly use synchronisation and lock-free algorithms.
Olaf W.
4.0 out of 5 stars Die Grundlage für Nebenläufige Programierung in Java
Reviewed in Germany on November 17, 2021
Java hat sich weiterentwickelt, aber die Grundlagen sind gleichgeblieben. Nicht einfach zu lesen. Viele Verweise auf andere Forschungsergebnisse. Um die Grundlagen zu verstehen, ist dieses Buch sehr hilfreich.