3、java 线程与并发程序编写--如何让线程体面的死去
来源:互联网 发布:细说php第一版与第二版 编辑:程序博客网 时间:2024/05/22 06:29
前文中提到了如何新建一个线程和启动一个线程的方法,那么我们应该如何终止一个线程呢?
注意:run方法的出口,是让线程体面死掉的唯一方法。(方法的出口?还是别问的好吧)。
那么对于一个未知执行次数的线程来讲,终止其的技巧是什么呢? 当然设置flag是常用的方法,但JDK给我们提供了一个更优的解决方案
代码3-1
public static boolean flag = true;public static void main(String[] args) throws Exception {new Thread() {@Overridepublic void run() {while (flag) {System.out.println("running....");}}}.start();Thread.sleep(2000);flag = false;System.out.println("结束线程运行.....");}
代码3-2
public static void main(String[] args) throws Exception {Thread t=new Thread() {@Overridepublic void run() {while (!this.isInterrupted()) {System.out.println("running....");}}};t.start();Thread.sleep(2000);t.interrupt();System.out.println("结束线程运行.....");}
注意无论哪种方法都是让run方法自然结束(返回或异常抛出返回),但显然,第二种方法更加便利和优雅,不仅如此,t.interrupe方法会抛出异常,可以让该线程可以自行处理外界的中断信号(终止、处理后终止、不理会等),这也比已经遗弃的stop()方法更加安全和先进。
- 3、java 线程与并发程序编写--如何让线程体面的死去
- 1、java 线程与并发程序编写--线程本质
- 2、java 线程与并发程序编写--Thread与Runnable的纠结
- Java并发:如何编写线程安全的代码
- 当Borland体面的死去
- java并发与线程
- 深入解析Java并发程序中线程的同步与线程锁的使用
- 深入解析Java并发程序中线程的同步与线程锁的使用
- Java 并发编程笔记:如何让一个线程停下来
- 如何判断 Java 线程并发的安全性
- 如何判断 Java 线程并发的安全性
- 【Java】线程并发拷贝程序
- java线程 如何处理并发
- 如何编写一个线程安全的程序或者函数库?
- Java的线程与线程池(程序猿必看)
- 【Java多线程与并发库】8.java5线程并发库之线程池的应用
- 【Java多线程与并发库】8.java5线程并发库之线程池的应用
- 如何让程序自动管理线程
- SQL Server 2005
- jsp servlet文件上传
- 自己写一个MVC框架(一)
- CentOS 6.0安装JDK7
- 获取当前的日期
- 3、java 线程与并发程序编写--如何让线程体面的死去
- 数据库连接池编写自己的jdbc框架
- 文件上传
- 2011-11-21
- 实时渲染(第三版):第四章 转换 4.3.1
- QT程序设计-发布程序
- INFOBRIGHT的使用总结
- Android 启动过程<译>
- windows下qt程序发布【转载自网络】