 <p>You have to start <code>wait</code> by acquiring synchronization on the wait variable, e.g.</p> <pre><code>synchronized( this ) { this.wait( ); } </code></pre> <p>Please read the javadoc for <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html#wait%28%29" rel="nofollow">wait</a> carefully and follow it to the letter, otherwise you'll be up to nasty surprises.</p>