Question: what is the difference between starting thread with run() and start() method?
Answer: In Summary only difference between start() and run() method in Thread is that start creates new thread while run doesn't create any thread and simply execute in current thread like a normal method call. Why wait and notify methods are declared in Object Class?