Java Threads, 2ed by Scott Oaks and Henry Wong Following are the changes made in the 6/00 reprint: Here's a key to the markup: [page-number]: serious technical mistake {page-number}: minor technical mistake : important language/formatting problem (page-number): language change or minor formatting problem ?page-number?: reader question or request for clarification <81> The first paragraph used to read: "The main difference between these two methods is that the interrupted() method resets the value of the flag to false. The isInterrupted() method does not change the value of the flag. Note that the interrupted() method is static and operates on the current thread, whereas the isInterrupted() method is dynamic and must be executed on a thread object." [The last sentence of that paragraph was removed, along with the code line Thread.currentThread().isInterrupted() The next paragraph continues as written:] "The point behind these methods is that the..." [81] In the code example, the start of the run() method looks like this: public void run() { Object o; while (true) { synchronized(data) { if (isInterrupted()) return; while (data.size() == 0) { try { <82> At the end of the first paragraph (after "checks the interrupted flag.") the following sentence was added: "In order to prevent the interrupt from arriving at any other time, we must only send the interrupt from a thread that has synchronized on the data object that was passed into the constructor." {146} At the top of the page, the ThreadA run method used to read: public void run(){ synchronized(someObject){ wait(); } someObject.methodA(); } The line: wait() was changed to: someObject.wait(); {185.7} The text used to read: "The first try clause in the run() method protects us when the thread that was running at priority 4 exited; the second clause protects us when a thread has been stopped from another thread. I believe that the responsibilities have been reversed - i.e. it is the 2nd try clause that handles the exiting thread and the 1st clause that handles the stopped thread." This sentence was removed. The start of the next sentence (now the first sentence in the paragraph) now reads: "Note that in the run() method, when the exception is thrown we need to remove the thread..."