or
Sign in to turn on 1-Click ordering.
 
 
Express Checkout with PayPhrase
What's this? | Create PayPhrase
Sorry!
More Buying Choices
53 used & new from $13.88

Have one to sell? Sell yours here
 
   
Concurrent Programming in Java(TM): Design Principles and Pattern (2nd Edition)
 
 
Tell the Publisher!
I’d like to read this book on Kindle

Don’t have a Kindle? Get your Kindle here.
 
  

Concurrent Programming in Java(TM): Design Principles and Pattern (2nd Edition) (Paperback)

~ (Author)
3.9 out of 5 stars  See all reviews (48 customer reviews)

List Price: $69.99
Price: $41.46 & this item ships for FREE with Super Saver Shipping. Details
You Save: $28.53 (41%)
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
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.

Want it delivered Tuesday, November 10? Choose One-Day Shipping at checkout. Details
28 new from $37.48 25 used from $13.88

Formats

Amazon Price New from Used from
  Paperback $41.46 $37.48 $13.88
There is a newer edition of this item:
Concurrent Programming in Java(TM): Design Principles and Patterns (3rd Edition) (Java Series) Concurrent Programming in Java(TM): Design Principles and Patterns (3rd Edition) (Java Series) 3.9 out of 5 stars (48)
Sign up to be notified when this item becomes available.
What Do Customers Ultimately Buy After Viewing This Item?
Concurrent Programming in Java(TM): Design Principles and Pattern (2nd Edition)
44% buy the item featured on this page:
Concurrent Programming in Java(TM): Design Principles and Pattern (2nd Edition) 3.9 out of 5 stars (48)
$41.46
Java Concurrency in Practice
36% buy
Java Concurrency in Practice 4.8 out of 5 stars (60)
$37.79
Effective Java (2nd Edition)
11% buy
Effective Java (2nd Edition) 4.9 out of 5 stars (36)
$33.03
Java Threads
5% buy
Java Threads 3.5 out of 5 stars (41)
$26.37

Frequently Bought Together

Concurrent Programming in Java(TM): Design Principles and Pattern (2nd Edition) + Java Concurrency in Practice + Effective Java (2nd Edition)
  • This item: Concurrent Programming in Java(TM): Design Principles and Pattern (2nd Edition) by Doug Lea

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Java Concurrency in Practice by Brian Goetz

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Effective Java (2nd Edition) by Joshua Bloch

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details


Customers Who Bought This Item Also Bought

The Algorithm Design Manual

The Algorithm Design Manual

by Steven S. Skiena
4.5 out of 5 stars (34)  $61.15
Java Threads

Java Threads

by Scott Oaks
3.5 out of 5 stars (41)  $26.37
Effective Java (2nd Edition)

Effective Java (2nd Edition)

by Joshua Bloch
4.9 out of 5 stars (36)  $33.03
Programming Interviews Exposed: Secrets to Landing Your Next Job, 2nd Edition (Programmer to Programmer)

Programming Interviews Exposed: Secrets to Landing Your Next Job, 2nd Edition (Programmer to Programmer)

by John Mongan
4.2 out of 5 stars (75)  $18.89
Hacker's Delight

Hacker's Delight

by Henry S. Warren
5.0 out of 5 stars (15)  $31.02
Explore similar items

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).



Product Description

In this second edition, you will find thoroughly updated coverage of the Java(tm) 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.


Product Details

  • Paperback: 432 pages
  • Publisher: Prentice Hall PTR; 2 edition (November 4, 1999)
  • Language: English
  • ISBN-10: 0201310090
  • ISBN-13: 978-0201310092
  • Product Dimensions: 9.1 x 7.4 x 0.9 inches
  • Shipping Weight: 1.6 pounds (View shipping rates and policies)
  • Average Customer Review: 3.9 out of 5 stars  See all reviews (48 customer reviews)
  • Amazon.com Sales Rank: #75,550 in Books (See Bestsellers in Books)

    Popular in this category: (What's this?)

    #93 in  Books > Computers & Internet > Programming > Java

More About the Author

Doug Lea
Discover books, learn about writers, read author blogs, and more.

Visit Amazon's Doug Lea Page

Look Inside This Book


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 
(7)

Your tags: Add your first tag
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

 

Customer Reviews

48 Reviews
5 star:
 (24)
4 star:
 (9)
3 star:
 (4)
2 star:
 (7)
1 star:
 (4)
 
 
 
 
 
Average Customer Review
3.9 out of 5 stars (48 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

 
28 of 28 people found the following review helpful:
5.0 out of 5 stars Excellent, January 30, 2000
Simply a great book on concurrent programming in Java. This book and the class library the author provides are an awesome combination. While some of the information is Java specific, this book is much more about concurrent programming in general.

The author explains the primitive concurrency mechanisms provided in Java, such as Threads and Monitors, and then quickly moves on to higher level abstractions that embody many of the patterns found in multi-threaded applications. By encapsulating these, sometimes complex, patterns in reusable classes, the author shows how to maintain the separation of concerns between the concurrent aspects of the code and the logic of the task at hand.

This book contains a thorough discussion of the topic and extensive code - both examples and a reusable class library. This is a must read for every Java developer.

Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
22 of 23 people found the following review helpful:
5.0 out of 5 stars Everything you need to know about concurrency in Java, April 11, 2003
By Bob Carpenter (New York, NY) - See all my reviews
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.

Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
20 of 22 people found the following review helpful:
5.0 out of 5 stars A must-read for serious programmers, June 27, 2000
By A Customer
Concurrency is difficult to get right. If you're going to be doing concurrent programming - in any language, really - then you should have this book in your toolchest. Even if you've been doing multi-threaded programming for years, CPJ is likely to make you better at it. The book represents the latest thinking and advances in concurrency, and judging from the increase in scope over the first edition, it would appear that the state of the art is evolving rapidly.

The second edition is a big improvement over the first: it's better-organized, better-written, and covers much more ground. It also has better treatment of Mr. Lea's "util.concurrent" package, a set of useful synchronization classes that will undoubtedly find their way into the Java platform at some point.

This is a hard book to read, which is undoubtedly why it gets so many negative reviews from confused readers. You can't just browse through it in an hour and then expect to be able to write a multi-threaded web server. It covers enough material to fill a grad-level course in CS, and it helps to have a CS degree or the equivalent to get the most out of it. There are probably much better books out there if you want to get "up and running" with threads quickly. If you ever hope to do anything reasonably complex with threading, though, you should get this book and study it carefully.

Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)


Share your thoughts with other customers: Create your own review
 
 
Ad
 
Most Recent Customer Reviews

5.0 out of 5 stars Very Good
I don't know about this book but having him as a teacher is pretty weird. I'm assuming his book style is the same as teaching, and that is pretty good, he helps you and knows... Read more
Published 9 months ago by J. Neal

3.0 out of 5 stars Too Theoretical
The book contains a lot of concurrent and parallel programming theories, but the organization of the contents is not well formed, such that the reading and understanding of the... Read more
Published on October 23, 2007 by Ray Ye

2.0 out of 5 stars 5 for knowledge; 0 for the writing -> 2.5 -> 2
Sure he knows his stuff but doesn't have a clue on how to write. This is appallingly poorly written. Read more
Published on April 19, 2006 by Mr. Patrick M. Thompson

3.0 out of 5 stars If you want to program concurency in Java you need this book
This is a kind of book you'll need to start developing concurrent systems in Java. It shows details of what should be done to safely handle patterns for concurrent programs... Read more
Published on January 15, 2006 by Omar Bounouioua

5.0 out of 5 stars Great Threaded Programming Information for More than Java
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... Read more
Published on January 9, 2006 by A. S. Willeke

5.0 out of 5 stars Will make you a better programmer, but not for beginners.
This book is great but don't read it as your first introduction to Java threads.

This book is not about Java threads per se, but more about design patterns and good... Read more
Published on October 29, 2004 by Thomas Alison

1.0 out of 5 stars "This is Phylosophy of concurrency".
This is not "concurrent programming".This is only "philosophy of concurrency".I think so too.
Published on July 5, 2004 by T.Murayama

5.0 out of 5 stars Excellent, Deep & Clear
Doug Lea does an excellent work.
On the one hand, he does much more than cover the API. He teaches you to *think* & understand multithreades. Read more
Published on March 15, 2004 by Sollie

4.0 out of 5 stars Good for experienced programmers, but not as intro
The book is a valuable resource for experienced programmers who are trying to write large, complex, real-life concurrent Java programs. Read more
Published on April 6, 2003 by Y. Keselman

2.0 out of 5 stars IQ test
I agree with other reviewers that this book is hard to read and understand. To me this is more like an IQ test, if you are smart enough then you get it, otherwise, get lost and... Read more
Published on March 13, 2003

Only search this product's reviews



Customer Discussions

This product's forum
Discussion Replies Latest Post
release date 2 March 2007
AW Concurrency Books 0 September 2006
See all 2 discussions...  
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Discussion Replies Latest Post
Textbooks for Kindle DX? 61 1 day ago
textbook scam 66 6 days ago
Amazon is a great place to buy textbooks! 35 18 days ago
Search Customer Discussions
   




Product Information from the Amapedia Community

Beta (What's this?)


Look for Similar Items by Category


Look for Similar Items by Subject

 

Feedback

If you need help or have a question for Customer Service, contact us.
 Would you like to update product info or give feedback on images?
Is there any other feedback you would like to provide?

Your comments can help make our site better for everyone.


Your Recent History

 (What's this?)

After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.