终止线程执行的两种方法
来源:互联网 发布:淘宝五心要多少信誉 编辑:程序博客网 时间:2024/05/19 00:09
一旦一个线程处于Runnable状态,它就会连续地执行,直到run()方法结束。Thread早期版本中有一个stop()方法,可以随时终止线程的执行。由于stop()方法在JDK的较新版本中已建议不再使用。因此,要使用一些技巧来实现这一手段。就我目前接触到的来看,要分两种情况:
1.对于继承Thread类构造线程的情况
1 public class ClassName extends Thread 2 { 3 private boolean running=false; 4 //该类的域和方法 5 //一般包含如下start()方法用于启动线程 6 public void start() 7 { 8 running=true; 9 super.start();10 }11 //一般包含如下halt()方法用于终止线程12 public void halt()13 {14 running=false;15 }16 //在run()方法中使用类似于下例的while循环17 public void run()18 {19 while(running)20 {21 /*线程要执行的代码*/22 }23 }24 25 }
2.对于实现Runnable接口构造线程的情况
注意,下面的stop()和start()方法不是自动被调用的,它们仅提供一种很方便的手段去终止或者启动线程。
1 public class ClassName extends Thread 2 { 3 private Thread threadName=null; 4 //该类的域和方法 5 //一般包含如下start()方法用于启动线程 6 public void start() 7 { 8 if(threadName==null) 9 {10 threadName=new Thread(this);11 threadName.start();12 }13 }14 //一般包含如下stop()方法用于终止线程15 public void stop()16 {17 threadName=null;18 }19 //在run()方法中使用类似于下例的while循环20 public void run()21 {22 Thread currentThread=Thread.currentThread();23 while(threadName==currentThread)24 {25 /*有适当的代码调用threadName.sleep(sleeptime)或者threadName.yied()*/26 }27 }28 29 }
Notice:
如果while循环中还使用了循环,此时调用自定义的halt()或者stop()方法可能不能立即终止线程,而是会运行到while循环中的循环结束为止。
0 0
- 终止线程执行的两种方法
- 终止线程执行方法
- 终止线程的方法
- 终止线程的方法
- 终止线程的方法
- 终止线程的方法
- 线程终止的方法
- 终止线程的方法
- 终止正在执行的线程
- 延时执行的两种方法(在线程中)
- (转载)线程定时执行的两种实现方法
- 两个线程,轮流有序执行的两种方法
- 终止线程的三种方法
- 终止线程的三种方法
- 终止线程的四种方法
- Windows终止线程的四种方法
- 终止线程的三种方法
- 终止java线程的三种方法
- 我常用的计划安排表
- 将切片地图服务导出成移动端TPK包的操作说明
- 匿名内部类--毕向东java基础教程学习笔记
- Process Explorer查找占用文件(或文件夹)的进程
- linux_raid
- 终止线程执行的两种方法
- PHP连接到mysql数据库
- java集合系列之一—ArrayList
- IronPython之在C#中获取Python对象的类名
- 初学多线程练习2--下雪效果
- linux smb服务
- 我常用的 log4net 配置
- 多线程--毕向东java基础教程视频学习笔记
- jndi客户端代码实现