Theory of Concurrent Programming
|
|
|
|
|
Java Concurrency in Practice
Brian Goetz, Joseph Bowbeer
Addison-Wesley, May 2006
ISBN: 0321349601 |
|
Detailed and thorough coverage of multithreading issues
in Java, including all Java 5.0 novelties. |
|
|
|
|
Concurrency : State Models & Java Programs
Jeff Magee, Jeff Kramer
John Wiley and Sons Ltd, March 1999
ISBN: 0471987107 |
|
Concurrent programs are notoriously difficult to get right.
This book provides a systematic and practical approach to designing, analyzing
and implementing concurrent programs. The examples are in Java, but
the book provides a sound theoretical background that is language independent. |
|
|
|
|
The Art of Multiprocessor Programming
Maurice Herlihy & Nir Shavit
Morgan Kaufmann, March 2008
ISBN: 0123705916 |
|
An advanced book on creating nonblocking algorithms. It
kind of explains the underlying algorithms of the concurrency utilities
in the java.util.concurrent package. |
|
|
|
|
Programming Concurrency on the JVM: Mastering Synchronization, STM,
and Actors
Venkat Subramaniam
Pragmatic Bookshelf, September 2011
ISBN: 193435676X |
|
A book on concurrent programming on the JVM that does not
focus on Java alone. Instead, most examples are first given in Java, then
a simpler way is shown in Scala, occasionally followed by a short section
using JRuby and Groovy. The book describes the difficulties of concurrent
programming on multi-core platforms. It then describes three "solutions":
the naïve Java approach, Software Transactional Memory and Actors.
Actor based samples are mainly done using Akka. Software Transactional
Memory is explained using Clojure STM and Akka/Multiverse STM. |
|
|
|
REVIEW
|
Concurrent Programming in Java : Design Principles and
Patterns
Doug Lea
Addison-Wesley, November 1996
ISBN: 0-201-69581-2 |
|
This used to be one of the best book about concurrent programming
and is still interesting reading. It uses Java as the implementation language
for examples, but much of the content can easily be translated to other
object-oriented languages such as C++. |
|
|
|
|
Concurrent Programming in Java, 2nd Ed. : Design Principles and
Patterns
Doug Lea
Addison-Wesley, November 1999
ISBN: 0-201-31009-0 |
The second edition is radically revised compared to the
first edition. It is still a very good book, but it might provide
more details than you might want to be confronted with. The first
edition is still a good alternative.
There is an
Online Supplement
available that has additional information about concurrent programming
in Java. |
|
|
|
|
Pattern-Oriented Software Architecture, Vol. 2: Patterns
for Concurrent and Networked Objects
Douglas Schmidt, Michael Stal, Hans Rohnert, Frank Buschmann
John Wiley & Sons, September 2000
ISBN: 0471606952 |
The book covers a broad range of patterns covering core
elements of building concurrent and networked systems: service access and
configuration, event handling, synchronization, and concurrency. The patterns
are presented in various programming languages, including C++, C, and Java.
For further information on the book see
http://www.cs.wustl.edu/~schmidt/POSA/
|
|
|
|
|
Java Core Programmierung: Memory Model und Garbage Collection
Klaus Kreft & Angelika Langer
entwickler.Press, August 2011, deutsch
ISBN-10: 3868020756 |
|
A paperback in German that compiles articles previously
published in a German Java magazine. Half of the book is devoted to the
Java memory model. The articles are available online at
http://www.angelikalanger.com/Articles/EffectiveJava.html
. |
|
|
Concurrent and Distributed Programming in C++
|
|
|
|
|
C++ Network Programming, Vol. 1: Mastering Complexity
Using ACE and Patterns
Douglas C. Schmidt, Stephen D. Huston
Addison-Wesley, December 2001
ISBN: 0201604647 |
This book guides software professionals through the traps
and pitfalls of developing efficient, portable, and flexible networked
applications. It explores the inherent design complexities of concurrent
networked applications and the tradeoffs
that must be considered when working to master them.
For further information on the book see
http://www.cs.wustl.edu/~schmidt/ACE/book1/
. |
|
|
|
|
C++ Network Programming, Vol. 2: Systematic Reuse with
ACE and Frameworks
Douglas C. Schmidt, Stephen D. Huston
Addison Wesley, November 2002
ISBN: 0201795256 |
The book illustrates the key patterns that underlie the
structure and functionality of the ACE frameworks.
For further information on the book see
http://www.cs.wustl.edu/~schmidt/ACE/book2/
. |
|
|
|
|
Parallel and Distributed Programming Using C++
Cameron Hughes, Tracey Hughes
Addison-Wesley, September 2003
ISBN: 0131013769 |
Practical Guides to Concurrent Programming in Java
|
|
|
|
|
Java Threads, 3rd Edition
Scott Oaks, Henry Wong
O'Reilly September 2004
ISBN: 0-596-00782-5 |
|
The book aims to cover everything you need to know about
threads, from the simplest animation program to the most complex applications.
The 3rd edition incorporates the concurrency utilities and has new chapters
on thread performance, using threads with Swing, threads and Collection
classes, thread pools, and threads and I/O (traditional, new, and interrupted). |
|
|
|
|
Java Thread Programming
by Paul Hyde
Sams, August 1999
ISBN: 0672315858 |
|
|
Taming Java Threads
Allen Holub
APress, May 2000
ISBN: 1893115100 |
|
Both books are guides for Java programmers, who explain
the Java means for implementing concurrent programs. The focus is
on Java programming rather than the theory behind concurrent programming.
Both books were subject of a
comparative
book review
at the JavaWorld website. |
|
|
Specific Non-Java Thread APIs
|
|
|
|
|
Multithreaded Programming with Java Technology
Bil Lewis, Daniel Berg, Daniel J. Berg
Prentice Hall PTR, December 1999
ISBN: 0130170070 |
|
This is NOT a book about Java, it's a book about multithreading.
The author is clearly a C type who has come to Java and tries to basically
recreate the semantics of C POSIX threading in Java. See also
a
comparative
book review
published at the JavaWorld website. |
|
|
|
|
Programming With Posix Threads
David R. Butenhof
Addison-Wesley, May 1997
ISBN: 0201633922 |
|
|
Threads Primer : A Guide to Solaris Multithreaded Programming
Bil Lewis, Daniel J. Berg, Bil Bewis
Prentice Hall, October 1995
ISBN: 0134436989 |
|
|
Pthreads Programming
Bradford Nichols, Dick Buttlar, Jacqueline Proulx Farrell
O'Reilly & Associates, September 1996
ISBN: 1565921151 |
|
|
Multithreading Applications in Win32 : The Complete Guide
to Threads
Jim Beveridge, Robert Wiener
Addison-Wesley, December 1996
ISBN: 0201442345 |
|
|
Programming With Threads
Steve Kleiman, Devang Shah, Bart Smaalders, Bart Smalders
Prentice Hall, July 1995
ISBN: 0131723898 |
|
|
|
|