wait():使一个线程处于等待(阻塞)状态,并且释放所持有的对象的锁; sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用
此方法要处理 InterruptedException 异常;
notify():唤醒一个处于等待状态的线程,当然在调用此方法的时候,并
不能确切的唤醒某一个等待状态的线程,而是由 JVM 确定唤醒哪个线程,而且
与优先级无关;
notityAll():唤醒所有处于等待状态的线程,该方法并不是将对象的锁给
所有线程,而是让它们竞争,只有获得锁的线程才能进入就绪状态;