Java多线程编程核心(1)

来源:互联网 发布:卧室家具摆放设计软件 编辑:程序博客网 时间:2024/05/20 20:48

Java多线程编程核心(1)

停止线程

本节主要讨论如何更好停止一个线程。停止线程意味着在线程处理完成任务之前放弃当前操作。

1.停不了的线程可能大多数同学会使用interrupt()来停止线程,但是此方法并不能真的停止线程,仅仅是在当年线程中打了一个停止标记。2.判断线程是否是停止状态a)this.interrupted():测试当前线程是否已经中断,执行后具有将状态标志设置为false,即第二次调用此方法时,返回false.b)this。isInterrupted():测试线程是否已经中断,不清楚状态标记。3.异常法停止线程建议使用此类方法,可以将线程停止的异常往上抛,使线程停止的事件得到传播4.在沉睡中停止线程sleep()+interrupt()5.暴力停止线程使用stop()停止。stop()方法在jdk6.0之后的版本已经作废。因为强制停止线程,有可能使一些请理性工作无法完成,再者对锁定的对象进行了解锁,导致数据不能进行同步处理,出现数据不一致。不建议使用。6.return停止线程interrupt() + return 
0 0