This site actually covers much of the information you are likely to need about wait()/notify()
and related synchronization and concurrency issues in Java. However, it is also recommended that you
check out the following:
A clearly written, authoritative guide to the modern concurrency features and libraries in Java.
This book is likely to become something of a bible for anybody
serious about issues of synchronization and concurrent programming in Java.
In particular, this book gives good (and comprehensible!) coverage of the Java memory model,
and much better coverage of the new Java 5 and 6 concurrency features than many other publications.