We are indebted to the diligent readers who pointed out the following typos & mistakes:
Page 25 – Figure 2.15 omission of “run()” should be “public void run()”
Page 25 – line 3, “Appendix C” should be “Appendix D”
Page 68 - The line "VAR=VAR[0]" should read "VAR=VAR[0]," (with a comma).
Page 82 - 2nd last line, “Arrivals and Departures” should be “arrivals and departures”
Page 84 - the term “queue” used in the definitions of condition synchronization should more accurately be wait set (see supplement)
Page 85 - Program 5.2 the parameter of CarParkControl should be "n" and not "capacity".
Page 87 - 1st paragraph after Semaphores, 3rd line "give" should be "given".
Page 95 - Figure 5.11 has an error in COUNT an "= (" should be a "|".
Page 96 – Program 5.6 – see supplement
Page 101 – Line 6 – should read “Consequently, the producer cannot enter…….”
Page 153 – Program 7.8 – see supplement
Page 178 – Program 8.3 – line 10 from bottom “if (state ==ENABLED) synchronized (this){“,
should read “synchronized (this) if (state ==ENABLED){“.
Page 277 – line 2 “(n + 1)*T” should be “(n ± 1)*T”