Concurrent Programming in Java
©
1996 Doug Lea
Errata for the second printing
Corrections and Clarifications
- Page 17 and 18
- Replace `SimpleMessageApplet' with `ThreadedApplet' [Inconsistent naming.]
- Page 30 and 315
- Replace `Coularis' with `Coulouris'. [Typo.]
- Page 49
- Replace `Owner y requests a Resource from Owner x' with
`Owner x requests a Resource from Owner y' [Dumb error.]
- Page 53
- Replace `IllegalArgumentAxception' with `IllegalArgumentException' [Typo]
- Page 64
- Replace "the each method" with "each method" [Typo.]
- Page 69
- Add footnote: Even though synchronization might not be strictly necessary in
moveTo
and shiftX
methods as the class
is written, they would be in more realistic versions of this class
containing other methods that rely on atomicity
of updates to prevent inconsistent access. [Clarification.]
- Page 99
- Replace comment:
//invariant: 0 <= capacity
with
//invariant 0 < capacity
[Usage inconsistency]
- Page 110
- Add footnote: `Note that in this implementation, zero is not a valid value
for
maxWaitMillis
since wait(0)
has the special meaning in Java of being equivalent to wait()
.
[Clarification.]
- Page 143
- Replace AccountUser with AccountHolder [Typo.]
- Page 234
- Replace
g.fillRect(origin.x, origin.y, size_.width, size_.height;
with
g.fillRect(origin.x, origin.y, size_.width, size_.height);
(i.e., add missing end-parenthesis) [Typo]
- Page 253 and 254
- Replace
int newValue = value
with
int newValue = other.value_
[Coding error.]
- Page 301
- Replace
protected Object waitingReaderMonitor_ = new Object();
with
protected Object waitingReaderMonitor_ = this;
[This change (as suggested on page 300) removes a potential
deadlock condition.]
Thanks to Jyrki Heikkinen, Beverly Sanders, Dennis Ulrich, Yukari
Shirota, Yacov Eckel, Kelly Davis, Glenn Goldstein, Colin Cooper, Dave
Yost, Hidehiko Masuhara, Tatsuya Aoyagi, and Robert Trevellyan for
pointing out problems.
Please send any questions or comments about this book to dl@cs.oswego.edu
.
Doug Lea
Last modified: Fri Oct 22 07:02:12 EDT 1999