停止线程
来源:互联网 发布:手机pdf阅读器知乎 编辑:程序博客网 时间:2024/05/08 18:55
线程的停止:
1. 停止一个线程 我们一般都会通过一个变量去控制的。
2. 如果需要停止一个处于等待状态下的线程,那么我们需要通过变量配合notify方法或者interrupt()来使用。
notify():被唤醒线程不会收到任何异常 只是唤醒线程池中的一个 ,不能指定唤醒哪一个
1. 停止一个线程 我们一般都会通过一个变量去控制的。
2. 如果需要停止一个处于等待状态下的线程,那么我们需要通过变量配合notify方法或者interrupt()来使用。
notify():被唤醒线程不会收到任何异常 只是唤醒线程池中的一个 ,不能指定唤醒哪一个
interrupt():可以没有锁调用,会受到InterruptedException异常,可以指定清除具体的线程
public class Demo6 extends Thread {boolean flag = true;public Demo6(String name){super(name);}@Overridepublic synchronized void run() {int i = 0 ;while(flag){try {this.wait(); //狗娃等待..} catch (InterruptedException e) {System.out.println("接收到了异常了....");}System.out.println(Thread.currentThread().getName()+":"+i);i++;}}public static void main(String[] args) {Demo6 d = new Demo6("狗娃");d.setPriority(10);d.start();for(int i = 0 ; i<100 ; i++){System.out.println(Thread.currentThread().getName()+":"+i);//当主线程的i是80的时候停止狗娃线程。//d.interrupt(); // interrupt()根本就是无法停止一个线程。if(i==80){d.flag = false;d.interrupt(); //把线程的等待状态强制清除,被清除状态的线程会接收到一个InterruptedException。 /*synchronized (d) {d.notify();}*/}}}}
0 0
- 停止线程
- 停止线程
- 停止线程
- 停止线程
- 停止线程
- 停止线程
- 停止线程
- 停止线程
- 线程停止
- 停止线程
- 停止线程
- 停止线程
- 停止线程
- 停止线程
- 停止线程
- 停止线程
- 线程停止
- 利用interrupt停止线程
- java初级理论知识及代码块
- 图像截取c代码
- 数据挖掘之缺失值填补常见手段
- 复变函数题库
- 日期倒计时
- 停止线程
- 数字图像处理之灰度图的直方图均衡化
- Mysql C API 使用(二)简单的sql语句执行&dbvisualizer设置自动提示
- 深信服成长篇 -- 第一篇博客
- Highways(prime)
- 经典排序算法:冒泡排序(Bubble Sort)
- exit properly shell script
- RememberPassword
- 在ubuntu系统上安装adb