(一)线程管理_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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 通过pycharm安装python_python pycharm安装

    通过pycharm安装python_python pycharm安装第一步:安装Python网站:https://www.python.org/1):进入官网下载最新Python版本!跟着标识下载就行了。……打开安装包,在第一个界面选择custominstallation自定义安装,并且勾选上位置在中下面的AddPyhton3.9toPATH这是添加Python3.9的环境变量第二个界面不用管。第三个界面只要把最上面5个勾选就OK了然后直接点击安装。第二步:安装Pycharm编译器网站…

    2022年8月28日
    2
  • ubuntu18.04.1 NFS服务器

    1、安装NFS软件包zhang@zhang-virtual-machine:~$sudoapt-getinstallnfs-kernel-server//安装NFS服务器端zhang@zhang-virtual-machine:~$sudoapt-getinstallnfs-common//安装NFS客户端2、添加NFS共享目录把/nfsroot目录设…

    2022年4月13日
    72
  • navicat premium激活码_在线激活

    (navicat premium激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~08…

    2022年3月28日
    36
  • phpMyAdmin安装教程[通俗易懂]

    phpMyAdmin安装教程[通俗易懂]phpmyadmin是一款mysql数据库管理工具,是由php编写的,可以通过互联网控制和操作mysql,通过phpmyadmin可以完全对数据库进行操作,例如建立、复制/删除数据等等。可以管理整个MySQL服务器(需要超级用户),也可以管理单个数据库,为了实现后一种,你将需要合理设置MySQL用户,他只能对允许的数据库进行读/写,那要等到你看过MySQL手册中相关的部分。

    2022年6月1日
    50
  • 什么是关系型数据库和非关系型数据库_常用的三种关系型数据库

    什么是关系型数据库和非关系型数据库_常用的三种关系型数据库关系型数据库又称为关系型数据库管理系统(RDBMS),它是利用数据概念实现对数据处理的算法,达到对数据及其快速的增删改查操作。既然被称为关系型数据库,那么它的关系在哪里体现呢?举一个例子吧。比如

    2022年8月2日
    7
  • 基于Docker的Kafka集群搭建

    基于Docker的Kafka集群搭建1.pulldocker,在机器上下载最新版本的kafka和zookeeper镜像,这里使用的是wurstmeister的镜像dockerpullwurstmeister/kafkadockerpullwurstmeister/zookeeper2.装好的docker镜像3.启动zk容器Dockerrun–d–namezookeeper–p2181:…

    2022年6月9日
    54

发表回复

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

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