线程系列4---sleep()和wait()方法区别

2013-12-25 14:49:00

1. sleep()方法是Thread类的一个静态方法,可以在任意地方被调用,而wait()方法是object类的一个方法,只能在同步代码块或者同步方法里面,通过同步监视器对象来调用;

2. sleep()方法主要作用是控制线程的运行状态,而wait()方法则主要用于线程间的通信;

3. 当前类调用sleep()方法后,该线程进入阻塞状态,直到休息时间到后进入就绪状态,该方法不会释放同步锁;

4. wait()方法被调用后,线程被挂起,直到挂起时间到或者被其他线程notify,进入就绪状态,该方法释放同步锁;

5. sleep()方法抛出异常,需要捕获,而wait()方法不会。

参照: http://jeff-tang.blog.163.com/blog/static/141686909201022010522906/

用interrupt()中断Java线程

http://hapinwater.iteye.com/blog/310558

原文地址:https://www.cnblogs.com/wlrhnh/p/3490865.html