This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
The wait/notification scheme fails because the code that is supposed to notify is synchronized
on the class object, while the code that is waiting is synchronized on an instance of that
class. Different locks, they don't communicate. That is, 'this' refers to an instance, and the
[classname].class formulation refers to the class object.