thinking in java chapter 21 - Concurrency