本节主要讨论如何更好中止一个线程。中止线程意味着在线程处理完成任务以前放弃当前操做。java
1.停不了的线程 可能大多数同窗会使用interrupt()来中止线程,可是此方法并不能真的中止线程,仅仅是在当年线程中打了一个中止标记。 2.判断线程是不是中止状态 a)this.interrupted():测试当前线程是否已经中断,执行后具备将状态标志设置为false,即第二次调用此方法时,返回false. b)this。isInterrupted():测试线程是否已经中断,不清楚状态标记。 3.异常法中止线程 建议使用此类方法,能够将线程中止的异常往上抛,使线程中止的事件获得传播 4.在沉睡中中止线程 sleep()+interrupt() 5.暴力中止线程 使用stop()中止。stop()方法在jdk6.0以后的版本已经做废。由于强制中止线程,有可能使一些请理性工做没法完成,再者对锁定的对象进行了解锁,致使数据不能进行同步处理,出现数据不一致。不建议使用。 6.return中止线程 interrupt() + return