Concurrent Programming by Hartley
This book shows professional programmers and students in operating systems and concurrent programming classes how to utilize the Java programming language to write programs that use semaphores, monitors, message passing, remote procedure calls, and the rendezvous for thread synchronization and communication. A Java algorithm animation package is also described.