摘自:
http://manming.iteye.com/blog/343310
六.sleep(),wait(),join()区别
在当前实例中调用sleep()方法,会使当前线程进入睡眠状态,一般调用slee()方法时都会传入一个毫秒数作为当前线程睡眠的时间,线程睡眠相应的毫秒后便会重新苏醒,当前线程处于睡眠状态时是不会释放当前对象锁的,其他线程无法获得当前对象的锁,只能等待,这是便会出现线程堵塞的现象.
wait()方法与sleep()方法的作用其实是一样的,但它们也有不同的地方;wait()方法使当前线程进入等待状态,进入等待状态的线程会释放当前获得的对象锁,以供后续的线程使用.
join()方法是等待指定的线程运行结束.当调用join()时,当前线程会等待它所连接的线程不再处于活动状态(既线程运行结束).
七.interrupted()与isInterrupted()区别
这两个方法都是用来判断线程是否被中断,它们的区别就在于:
interrupted()方法是一个静态方法,它是用来判断当前线程是否中断,然后返回一个布尔值;
isInterrupted()方法必须在一个对象上执行,判断所指定的对象是否已经被中断.