ACCU Home page ACCU Conference Page
Search Contact us ACCU at Flickr ACCU at GitHib ACCU at Facebook ACCU at Linked-in ACCU at Twitter Skip Navigation

Search in Book Reviews

The ACCU passes on review copies of computer books to its members for them to review. The result is a large, high quality collection of book reviews by programmers, for programmers. Currently there are 1949 reviews in the database and more every month.
Search is a simple string search in either book title or book author. The full text search is a search of the text of the review.
    View all alphabetically
Title:
Java Threads
Author:
S Oaks&H Wong
ISBN:
1-56592-216-6
Publisher:
O'Reilly
Pages:
252pp
Price:
£21.95
Reviewer:
Brian Bramer
Subject:
java
Appeared in:
10-2
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!