博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
转: Java安全停止线程方法
阅读量:5281 次
发布时间:2019-06-14

本文共 1144 字,大约阅读时间需要 3 分钟。

转:

1.早期Java提供java.lang.Thread类型包含了一些列的方法start(), stop(), stop(Throwable) and suspend(), destroy() and resume()。,Sun公司的一篇文章《Why are Thread.stop, Thread.suspend and Thread.resume Deprecated? 》  2.使用volatile变量来设置Thread的run的循环条件,保证变量同步性        public class JavaTest extends Thread{  private volatile boolean isRun = true;  public static void main(String[] args) {  JavaTest thread = new JavaTest();  thread.start();  thread.close();  }  @Override  public void run() {  while (isRun) {  //dosomething  }  }  public void close() {  this.isRun = false;  }  }  3.使用interrupt()来中止非运行状态的线程,如wait()和sleep()状态的线程,此时可利用interrupted来终止线程  public class JavaTest extends Thread{  private volatile boolean isRun = true;  public static void main(String[] args) {  JavaTest thread = new JavaTest();  thread.start();  thread.close();  if (thread != null) {  thread.interrupt(); //外围调用关闭  }  }  @Override  public void run() {  while (isRun) {  //dosomething    try {  wait();   //同样适用于sleep等状态  } catch (InterruptedException e) {  //catch Exception  }  }  }  public void close() {  this.isRun = false;  }  }

转载于:https://www.cnblogs.com/zhang-pengcheng/p/4639533.html

你可能感兴趣的文章
IT人生的价值和意义 感觉真的有了
查看>>
Linux命令之df
查看>>
JS DOM对象
查看>>
python正则表达式
查看>>
OGR – Merging Multiple SHP files
查看>>
创业公司该不该被收购?(转)
查看>>
sqlserver 行转列、列转行[转]
查看>>
【IScroll深入学习】解决IScroll疑难杂症
查看>>
python 数据类型
查看>>
108-PHP类成员protected和private成员属性不能被查看数值
查看>>
ajax post data 获取不到数据,注意contentType
查看>>
css控制height充满浏览器视口
查看>>
Linux 系统目录结构
查看>>
查看CPU数量和核心数
查看>>
Android异步加载网络图片
查看>>
python学习之 - XML
查看>>
css问题小计
查看>>
Laravel学习笔记(三)数据库 数据库迁移
查看>>
ORACLE查看并修改最大连接数
查看>>
box-flex不均分问题
查看>>