1.Synchronized block 中的 wait(), notify(), 为同一物件的不同线程调用才可相互起作用.
Any object can be a monitor. wait()/notify() methods are in Object classes and not in Thread class.
2.A Thread is created by doing new ClassThatExtendsThread() OR by doing new Thread(classImplementingRunnable);
The newly created Thread is started by calling start().
All the code that does the work in a seperate thread goes in the run() method.
Method signature: public void run()
Note that this method is not Abstract in the Thread Class. So you need not neccessarily override it. But the Thread class version doesn't do anything. It is just empty implementation.
A call to start() returns immediately but before returning, it internally causes a call to the run method of either the Thread class (if the thread was created by doing new ClassThatExtendsThread()) or of the runnable class (if the thread was created by doing new Thread( classImplementingRunnable);
General Info: suspend(), resume() and stop() are deprecated methods because they don't give the Thread a chance to release shared resources which may cause deadlocks.