(一)线程管理_3---中断一个线程
来源:互联网 发布:门窗算料优化软件 编辑:程序博客网 时间:2024/06/05 00:42
中断线程
Java提供了中断机制,可以在中断线程的执行,执行的线程会检查中断状态,可以选择忽略中断信号,也可以中断程序
动手实现
public class PrimeGenerator extends Thread { @Override public void run() { long number=1L; while(true) { if (isPrime(number)) { System.out.printf("Number %d is Prime\n", number); } // 检查是否中断 if (isInterrupted()) { System.out.printf("The Prime Generator has been Interrupted\n"); return; } number++; } } private boolean isPrime(long number) { if (number <= 2) { return true; } for (long i = 2; i < number; i++) { if ((number % 2) == 0) { return false; } } return true; } public static void main(String[] args) { Thread task=new PrimeGenerator(); task.start(); try { Thread.sleep(3000); } catch (InterruptedException e) { e.printStackTrace(); } //中断线程 task.interrupt(); }}
要点
线程属性中保存着一个boolean类型的值,用来标识线程是否已经被中断,当调用interrupt()方法时,将会设置这个属性为true,而调用isInterrupt()方法仅仅返回这个属性的值;
线程对象的 interrupt() 和 isInterrupt()方法的主要区别是: interrupt()方法将会设置为false, isInterrupt()方法仅仅返回这个属性值,推荐使用isInterrupt()方法
0 0
- (一)线程管理_3---中断一个线程
- [Java] 线程中断(一)
- ACE线程管理(一)
- Android线程管理(一)
- 读书笔记:java线程_3
- 中断线程的一个方法
- 深入Java线程管理(一):线程的实现方式
- (一)线程管理_1---创建和运行线程
- (一)线程管理_2---获取和设置线程信息
- (一)线程管理_4---线程休眠和恢复
- (一)线程管理_5---等待线程终止
- (一)线程管理_6---创建守护线程(deamon thread)
- (一)线程管理_8---使用线程局部变量
- (一)线程管理_9---线程分组( Thread Group )
- (一)线程管理_11---通过工厂方法创建线程
- (一)线程管理_1---创建和运行线程
- 初识pthread(一)-线程管理之创建/结束线程
- Android线程管理(一)——线程通信(转载)
- Illegal instruction 的解决方法
- ubuntu快捷键启动脚本或程序
- USACO 1.3 - Combination Lock(暴力枚举)
- PAT 1009. Product of Polynomials (25)
- Insertion Sort List
- (一)线程管理_3---中断一个线程
- c++11特性与cocos2d-x 3.0之std::bind与std::function
- C++11 std::function用法
- Android requires compiler compliance level 5.0 or 6.0. Found '1.7' instead. Please use Android Tool
- java Class类文件结构
- crontab设置定时任务
- 少年愁----三毛
- RangeQuery的rewrite方法
- android距离传感器的应用