or
Sign in to turn on 1-Click ordering.
Trade in Yours
For a £8.79 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Sorry, this item is not available in
Image not available for
Colour:
Image not available

 
Tell the Publisher!
I’d like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Concurrent Programming in Java: Design Principles and Patterns [Paperback]

Doug Lea
3.9 out of 5 stars  See all reviews (19 customer reviews)
RRP: £47.99
Price: £42.23 & this item Delivered FREE in the UK with Super Saver Delivery. See details and conditions
You Save: £5.76 (12%)
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
Only 3 left in stock (more on the way).
Dispatched from and sold by Amazon. Gift-wrap available.
Want delivery by Tuesday, 21 May? Choose Express delivery at checkout. See Details

Formats

Amazon Price New from Used from
Paperback £42.23  
Trade In this Item for up to £8.79
Trade in Concurrent Programming in Java: Design Principles and Patterns for an Amazon.co.uk gift card of up to £8.79, which you can then spend on millions of items across the site. Trade-in values may vary (terms apply). Learn more
There is a newer edition of this item:
Concurrent Programming in Java Concurrent Programming in Java 3.9 out of 5 stars (19)
Currently unavailable

Book Description

25 Oct 1999 0201310090 978-0201310092 2

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


Frequently Bought Together

Concurrent Programming in Java: Design Principles and Patterns + Java Concurrency in Practice
Price For Both: £76.54

Buy the selected items together
  • Java Concurrency in Practice £34.31


Product details

  • Paperback: 432 pages
  • Publisher: Addison Wesley; 2 edition (25 Oct 1999)
  • Language: English
  • ISBN-10: 0201310090
  • ISBN-13: 978-0201310092
  • Product Dimensions: 18.9 x 1.5 x 23.5 cm
  • Average Customer Review: 3.9 out of 5 stars  See all reviews (19 customer reviews)
  • Amazon Bestsellers Rank: 406,737 in Books (See Top 100 in Books)
  • See Complete Table of Contents

More About the Author

Discover books, learn about writers, and more.

Product Description

Amazon Review

Concurrent Programming in Java, second 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, the author also covers Java threads themselves (including priorities, scheduling and the like).

Next, 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 author presents dozens of techniques for letting threads work together safely. For the working Java programmer, coverage of patterns that have been implemented in downloadable java.concurrency package will be the most immediately useful. (Within this nearly encyclopaedic survey, short code snippets are used for every pattern and concept.) Though theoretically written 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, Amazon.com

Topics covered: Threads and concurrency in Java, design considerations: safety, liveness and performance, Before/After Patterns, layering, adapters, immutability and synchronisation, 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

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

What Other Items Do Customers Buy After Viewing This Item?


Customer Reviews

Most Helpful Customer Reviews
13 of 13 people found the following review helpful
5.0 out of 5 stars Excellent 22 Feb 2000
By A Customer
Format:Paperback
This book stresses design principles over API teaching - most if it is dedicated to illustrating the issues that arise in multi-threaded systems, and then to presenting design patterns that over come these difficulties.

It is well written, and the issues raised are illustrated with code snippets (as opposed to complete programs) in Java - no type-and-run listings in this book.

The emphasis of design over implementation makes it best suited to those who already have a good knowledge of Java and OO design ideas. The threading API is covered very well, but I'd look elsewhere if you are looking for an introduction to it.

Comment | 
Was this review helpful to you?
11 of 11 people found the following review helpful
4.0 out of 5 stars Good Solid Information 20 May 1999
By A Customer
Format:Paperback
This is a good, solid book. I don't understand some of the comments here - although not aimed at people with little programming experience, it is not impenetrable or badly written. It is not an academic textbook, but neither is it an inspirational classic. It's simply a good explanation of many of the issues involved in concurrent programming - the best I have read.

An experienced Java programmer who has already used and worried about threads could read this in a couple of days and learn a great deal - at least, I certainly did. The emphasis on patterns really helps - this is the first book I have seen that uses patterns as a tool and succeeds. They clarify the argument and let the reader decide whether they want to continue with a particular section or skip over to something more interesting.

Some of thread programming is difficult and, at least at the moment, there is no way to avoid thinking about the problem - but even in the detailed discussions of the final chapter, concentrating on particular examples, there were useful general comments.

My only criticisms are: (1) The organisation of the book wasn't as clear as it could be - it wasn't until I had read it from cover to cover that I felt I could find particular items of information. (2) There was little mention of Hoare's CSP/occam and the related Java work done at the University of Kent (I'm not an expert on this, but I found that work very useful and wished it had been discussed here). Amazon doesn't seem to like links from its pages, but I am not connected with these people and think readers here would be interested in this, so please - leave in this pointer: http://www.cs.ukc.ac.uk/projects/ofa/jcsp/ Thanks!

Incidentally, if you are hoping this is a manual for Doug Lea's respected concurrency package - it isn't. I read the book hoping it would be, but I wasn't disappointed because, once I had finished the book, I found the package (with the online docs) easy to understand. So the book complements (and funds!) the package, but isn't a manual - it's much more useful than that...

Comment | 
Was this review helpful to you?
5 of 5 people found the following review helpful
4.0 out of 5 stars Not light bedtime reading 10 Oct 1997
By A Customer
Format:Paperback
I have both Doug Lea's "Concurrent Programming in Java" and Oaks and Wong's "Java Threads".
Doug Lea's book is by far the most comprehensive. The book focuses strongly on applied uses of locking mechanisms and covers a great deal of the theoretical basis of monitor-based locking schemes. The book is not easy reading though -- it is extremely dense. It has applicability outside of the Java programming environment and I recommend it to you if you are interested in the theoretical side of concurrent programming.

Oaks and Wong's book is far less academic. It is an extremely easy read. Notwithstanding the fact that it is 250 pages, it can easily be read (and understood) in an afternoon. Their approach is much more practical and focuses on Java's support for concurrent programming. If you need to dive into multi-thread programming in Java then I heartily recommend this book to you as it will get you started quicker than Doug Lea's book. If your interest is in concurrent programming in general or if you are using a different language, then Doug Lea's is probably the more suitable.
Comment | 
Was this review helpful to you?
Would you like to see more reviews about this item?
Were these reviews helpful?   Let us know
Most Recent Customer Reviews
1.0 out of 5 stars Does more to obfuscate the topic than explain it
I bought this book on the strength of several Amazon reviews, which praised it highly. However, it is easily the worst computer textbook I have ever owned. Read more
Published on 15 Jun 2004 by C. Wareham
1.0 out of 5 stars Waste of time and money
I purchased this book as a recommended course text. So far course texts have been readable and good quality however this book is a different matter. Read more
Published on 2 Mar 2001
5.0 out of 5 stars Excellent overview of all multi-tasking flavours
This book is a must-have for those who need an in-depth introduction to multi-tasking in Java. It explains all standard concepts (thread-safety, lifeness, semaphores, etc . . . Read more
Published on 4 Jun 2000
5.0 out of 5 stars Well worth the effort it demands.
Although this is definitely the most difficult programming book I've ever read, it has also been the most valuable. Read more
Published on 18 Mar 1999
2.0 out of 5 stars It's a good book, but it may not be worth the effort
The other reviewers weren't kidding about this book being dense and difficult to read. The problem I have with it is not its difficulty but because most of it is cause by poor... Read more
Published on 26 Feb 1999
5.0 out of 5 stars heady stuff
Beginners don't bother. But for real programmers, this is a great book, albeit not a particularly easy one.
Published on 23 Feb 1999
3.0 out of 5 stars Extremely Theoritical
This book mainly goes over the theory of Java Threads and works more as a guide to thread programming than a how-to book. Read more
Published on 22 Feb 1999
1.0 out of 5 stars Way over my head!
I tried hard to understand the content of this book however,it made litte or no sense to me. I am a novice Java programmer but have several years of experience in other... Read more
Published on 11 Dec 1998
4.0 out of 5 stars Excellent for the experienced
I found the book to be excellent because I need a book that would allow me to map my knowledge of concurrency from other languages to Java. Read more
Published on 9 Oct 1998
5.0 out of 5 stars No pain no gain - and the gain is substantial
Doug covers some complex concepts in multithreading that go beyond merely describing how to multithread Java applications. Read more
Published on 10 Jun 1998
Search Customer Reviews
Only search this product's reviews

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 

Search Customer Discussions
Search all Amazon discussions
   


Listmania!


Look for similar items by category


Feedback


Amazon.co.uk Privacy Statement Amazon.co.uk Delivery Information Amazon.co.uk Returns & Exchanges