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

相关推荐

  • Java程序员的推荐阅读书籍

    Java程序员的推荐阅读书籍

    2021年5月8日
  • macbook重设密码服务器错误_网页显示500错误

    macbook重设密码服务器错误_网页显示500错误在网上查了查解决方案如下:1。右键我的电脑–管理–本地用户和组,给IUSR_机器名和IWAM_机器名两个用户设置密码,要一样。2。开始–运行–打cmd,然后cdD:InetpubAdminscripts(我的系统在D盘),然后cscript.exeadsutil.vbssetw3svc/wamuserpass你的密码,然后cscript.exeadsutil.vbssetw…

    2022年8月12日
  • 前向传播算法(Forward propagation)与反向传播算法(Back propagation)「建议收藏」

    前向传播算法(Forward propagation)与反向传播算法(Back propagation)「建议收藏」虽然学深度学习有一段时间了,但是对于一些算法的具体实现还是模糊不清,用了很久也不是很了解。因此特意先对深度学习中的相关基础概念做一下总结。先看看前向传播算法(Forwardpropagation)与反向传播算法(Backpropagation)。1.前向传播如图所示,这里讲得已经很清楚了,前向传播的思想比较简单。举个例子,假设上一层结点i,j,k,…等一些结点与本层的结点w有连接,那么结点

    2022年4月28日
  • mysql15 激活码【2021.7最新】

    (mysql15 激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlMLZPB5EL5Q-eyJsa…

    2022年3月21日
  • DOS攻击工具(dos攻击教程)

    DOS攻击工具(dos攻击教程)DoS(DenialOfService)攻击是指故意的攻击网络协议实现的缺陷或直接通过野蛮手段残忍地耗尽被攻击对象的资源,目的是让目标计算机或网络无法提供正常的服务或资源访问,使目标系统服务系统停止响应甚至崩溃然而随着网络上免费的可用DDoS工具增多,DoS攻击也日益增长,下面介绍几款Hacker常用的DoS攻击工具。特别提示:仅用于攻防演练及教学测试用途,禁止非法使用。1、卢瓦(LO…

    2022年4月18日
  • mcu单片机开发_AVR单片机

    mcu单片机开发_AVR单片机关于单片机(MCU)最强科普

    2022年10月8日

发表回复

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

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