REVIEW - Java Threads

Title:

Java Threads

Author:

Scott Oaks, Henry Wong

ISBN:

1565922166

Publisher:

O'Reilly (1997)

Pages:

252pp

Reviewer:

Brian Bramer

Reviewed:

April 1998

Rating:

★★★★★

A very useful well-written reference suitable for Java systems developers and as a second level text for students on computing science and IT oriented courses. Highly recommended!

Java is now becoming the preferred first programming language on many undergraduate courses in computing science and IT. It then becomes a suitable implementation vehicle for second level modules on networks, distributed systems, etc. A common topic on second level computing modules is concurrent processing (looking at the problems of message passing, accessing shared memory, race conditions, deadlocks, etc.). Traditionally C under the UNIX programming environment would have been used for practical implementation, e.g. forking processes, using pipes and sockets, etc. Java now becomes a viable alternative for studying many of these concepts.

Threads are an essential component of any but the simplest Java program and any first level Java text would introduce the concepts and discuss problems such as resource locking, i.e. using the synchronised modifier to control access to shared resources. 'Java Threads' extends this basic knowledge to a level required by sophisticated systems developers.

The first four chapters introduce basic concepts and tools describing how to create threads and the techniques used to synchronise access to code and data. Chapter five then presents case studies using the techniques, e.g. thread safe data structures (message queue, shared memory, circular linked list), a network server, etc. Following chapters then discuss thread scheduling (ending by developing a

CPUSchedule
class to schedule one's threads using a round-robin algorithm), advanced synchronisation problems (deadlock, race conditions, lock starvation) and the
ThreadGroup
class.

A very useful well-written reference suitable for Java systems developers and as a second level text for students on computing science and IT oriented courses. Highly recommended!


Book cover image courtesy of Open Library.