small medium large xlarge

Errata for Programming Concurrency on the JVM

 

The latest version of the book is P1.0, released over 4 years ago. If you've bought a PDF of the book and would like to upgrade it to this version (for free), visit your home page.

By default this page displays the errata for the latest version of the book. If you have a previous version, select it here:

If you've found a new error, please submit it.

  • Typo
  • Tech. error
  • Suggestion
  • Maybe next edition
  • Not a problem
  • Reported in: B2.0 (08-Jun-11)
#47170
PDF page: Cover

No cover image shows up on a Nook e-reader, just a blank page. This is for the EPUB version. The cover shows just fine in the PDF.--Simon P. Chappell

  • Reported in: P1.0 (13-Apr-12)
#49106
Paper page: 11

"is froth with problems" should be "is fraught with problems"--Michael Easter

  • Reported in: P1.0 (14-Sep-13)
#52923
PDF page: 18
Paper page: 19
The demo Example do not run ,Today ,when I run the Example in page 18 ,The class :YahooFinance.java .The exmaple can not run ,Why ? I am a student fro...more...
  • Reported in: B2.0 (11-Aug-11)
#47367
PDF page: 64
In the first paragraph, there's the following sentence: "In general, we’ll don’t want to break down the problem too small as that may result in sch...more...
  • Reported in: P1.0 (03-Dec-11)
#48158
Paper page: 69

In the withdraw method, the acquisition of monitor.lock() should be just outside the try block, not inside. I.e., move it up one line.--Craig Artley

  • Reported in: B2.0 (17-Aug-11)
#47403
PDF page: 79
to ensure visibility stopEnergySource() has been made synchronized, but init() method (which initializes replenishTask field which is used by stopEner...more...
  • Reported in: P1.0 (25-Apr-12)
#49196
PDF page: 97
Hi, my Clojure isn't great, so perhaps just my misinterpretation, but the let form (line 4 in both the deposit and withdraw functions) dereferences ba...more...
  • Reported in: P1.0 (25-Feb-12)
#48800
Paper page: 106
The following code does not work with akka.stm.Ref - I have tried all versions from 1.0 to 1.3.1. private void init() { replenishTimer.sch...more...
  • Reported in: P1.0 (13-Apr-12)
#49107
Paper page: 146

At bottom, "still one of the most widely used language" (pluralize "languages")--Michael Easter

  • Reported in: P1.0 (23-Nov-11)
#48025
PDF page: 147

It would be very useful to describe also what should be in the classpath to use Akka, Multiverse or Clojure STM from within Java.--Jan Goyvaerts

  • Reported in: P1.0 (23-Nov-11)
#48026
PDF page: 147

It would be very useful to describe also what should be in the classpath to use Akka, Multiverse or Clojure STM from within Java.--Jan Goyvaerts