According to Javadocs, as far as wait() is concerned, 0 == infinity...

http://docs.oracle.com/javase/6/docs...wait%28long%29

"The specified amount of real time has elapsed, more or less. If timeout is zero, however, then real time is not taken into consideration and the thread simply waits until notified."...