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


相关推荐

  • vmware workstation12永久激活密钥_vmware15最新密钥 “15” (VM)

    vmware workstation12永久激活密钥_vmware15最新密钥 “15” (VM)VMware虚拟机已升级至14版本,之前的12版本的秘钥已经无法使用,在此分享一下VMwareWorkstation14永久激活密钥:CG54H-D8D0H-H8DHY-C6X7X-N2KG6ZC3WK-AFXEK-488JP-A7MQX-XL8YFAC5XK-0ZD4H-088HP-9NQZV-ZG2R4ZC5XK-A6E0M-080XQ-04ZZG-YF08DZY5H0-D3Y8…

    2025年11月18日
    7
  • Yii2使用教程_yii2 rbac

    Yii2使用教程_yii2 rbachttps://www.cnblogs.com/chengbocd/p/6125533.htmlhttps://www.yiichina.com/doc/guide/2.0/start-giiht

    2022年8月1日
    5
  • IIS无法启动:发生意外错误0x8ffe2740的原因

    IIS无法启动:发生意外错误0x8ffe2740的原因原因如果系统中存在端口冲突就有可能发生本情况. IIS默认使用80端口进行HTTP通信. 如果除IIS外的应用程序正在运行并且正在相同的IP地址上使用80端口,在您试图使用IIS管理器启动网站时您也可能收到该错误讯息. 解决方法要解决这个问题,您可以进行以下任一项操作:• 在IIS管理器中更改网站绑定端口为除80端口外的其它端口. • 停止正在使用80端口的应

    2022年7月26日
    8
  • mysql主从复制原理_MySQL主从同步

    mysql主从复制原理_MySQL主从同步 mysql是现在普遍使用的数据库,但是如果宕机了必然会造成数据丢失。为了保证mysql数据库的可靠性。就要会一些提高可靠性的技术。主从复制原理如下。slave(从服务器)master(主服务器)mysql主从是异步复制过程master开启bin-log功能,日志文件用于记录数据库的读写增删需要开启3个线程,masterIO线程,slave开启IO线程SQL线程,…

    2022年8月13日
    11
  • DHCP 协议(二)「建议收藏」

    DHCP 协议(二)「建议收藏」DHCP的全名叫什么?(DynamicHostconfigurationProtocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作;主要有两个用途:(1)用于内部网或网络服务供应商自动分配IP地址;(2)给用户用于内部网管理员作为对所有计算机作中央管理的手段。功能简述:它主要是通过客户端发送广播数据包给整个物理网段内的所有主机,若局域网内有DHCP服务器时,才会…

    2022年5月23日
    39
  • 一文讲透鱼眼相机畸变矫正,及目标检测项目应用 值得收藏

    1个人介绍大家好,我是潘大强。目前博士毕业4年,主要从事智能安防行业。之前也分享过AI从业的一些心得,个人介绍链接。应大白的邀请,从AI从业者的角度,分享工作中遇到的一些经验。之前在江大白的群里,看到有同学提问“鱼眼相机标定”的问题。对于鱼眼相机的标定和矫正,网上已经有很多理论文章,但是落实到代码层面的并不多,而且大部分代码都是C++实现。但是做AI的同学,大多数都是用python语言,所以本次分享,我用python语言(只依赖opencv-python包和numpy包)..

    2022年4月17日
    140

发表回复

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

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