Hi Ilumi,
There are a lot of problems with your code. A few of the problems include:
1) notify() doesn't 'pair' with Thread.sleep() in any way. You can't notify() a sleeping thread to make it wake up. You use notify() on an Object which another thread is wait()ing on. Or if you really want to use Thread.sleep(), you would interrupt the sleeping thread.
2) In order to notify() you need a reference to the same Object used for wait()ing. If you want to interrupt a sleeping thread you need a reference to the same Thread that is sleeping.
Unfortunately, simply posting code which fixes the problem will not really help you, since it seems you are missing some fundamentals when it comes to Threads, and synchronization. I suggest reading up on Threading in
Java. One good place to start is this Tutorial from Oracle:
The Java: Concurrency Tutorial. Make sure you read the first few chapters, at least up through 'Guarded Blocks' and really try out the examples until you understand what and how sleep works, how synchronization works, and hopefully can figure out which one you want to use.