(一)线程管理_3—中断一个线程

(一)线程管理_3—中断一个线程

中断线程

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()方法

转载于:https://my.oschina.net/u/1387007/blog/343253

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/109660.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 苹果系统自带的计算机怎么恢复出厂设置,苹果Macbook电脑怎么恢复出厂设置【图文】…

    苹果系统自带的计算机怎么恢复出厂设置,苹果Macbook电脑怎么恢复出厂设置【图文】…苹果电脑预装Mac系统,简洁又安全,不过使用时间长了,难免会碰到一些问题,导致系统运行速度变得卡顿。恢复出厂设置是一个不错的办法,之前windows系统恢复出厂设置比较简单,但苹果Macbook电脑怎么恢复出厂设置?Mac系统提供恢复出厂系统的功能,主要分为离线和在线两种方法,感兴趣的一起来学习。苹果Macbook恢复出厂设置删除数据的方法:提醒:恢复出厂设置前请做好数据备份,以免对您造成损失。1…

    2022年6月17日
    60
  • Oracle创建数据库语句_oracle创建表的sql语句

    Oracle创建数据库语句_oracle创建表的sql语句Oracle创建表空间,用户及授权

    2022年9月22日
    5
  • Java栈结构_栈java

    Java栈结构_栈javaJava栈结构概念典型的栈结构如下图所示:栈结构只能在一端操作,该操作端叫做栈顶,另一端叫做栈底。栈结构按照“后进先出”(LastInFirstOut,LIFO)的方式处理结点数据。栈的特点:其实栈结构是一种受限制的线性数据结构。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相

    2025年9月22日
    4
  • Ubuntu 16.04 下安装VMware Tools(三行命令搞定,亲测好使)

    Ubuntu 16.04 下安装VMware Tools(三行命令搞定,亲测好使)Ubuntu16.04下安装VMwareTools(三行命令搞定,亲测好使):第一行命令:sudoapt-getupgrate第二行命令:sudoapt-getinstallopen-vm-tools-desktop-y第三行命令:sudoreboot如果觉得好使,请点赞;…

    2022年5月26日
    52
  • ArcGIS二次开发基础教程(06):有关图层的基本操作

    ArcGIS二次开发基础教程(06):有关图层的基本操作ArcGIS二次开发基础教程(06):有关图层的基本操作0.PageLayout和MapControl的同步voidCopyToPage(){//对象拷贝,把mapcontrol的地图拷贝重写到pagelayout里IObjectCopycopy=newObjectCopyClass();objectfromMap=a…

    2022年7月23日
    17
  • 键盘失灵重启电脑就没事了_笔记本电脑重启后黑屏

    键盘失灵重启电脑就没事了_笔记本电脑重启后黑屏问题描述:下午,卸载了360软件(安全卫士、软件管家、360安全浏览器)后,重启电脑,然后电脑开始硬盘扫描、检测,结果告知不能成功修复。随后,我选择“继续使用Win10“选项,就发现电脑键盘已经失灵,无法输入开机密码,一度让我抓狂。在随后的的近3个小时的过程中,经历了以下调试过程:1.硬重启电脑(即,按住开机键不动,直到重启),发现没用2.重启后按F8、F10键试图进入安…

    2022年8月12日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号