线程中断

1.线程有自己决定是否中断。其他的线程只能给当前线程设置中断标志位。然后当前线程去检测是否中断。然后自行决定是否中断。

2.Thread.interrupted()

该方法用于检测线程是否中断,以及清除中断标志位。当第二次调用这个方法的时候就会返回false。

3.如果线程被中断,当我们执行Thread.sleep()的时候会抛出中断异常。

        Thread thread = new Thread(() -> {while (!Thread.interrupted()) {System.out.println(1);}for (int i = 0; i < 100; i++) {System.out.println(i);}
//            try {
//                Thread.sleep(4000);
//            } catch (InterruptedException e) {
//                e.printStackTrace();
//            }//});thread.start();// 一段时间以后Thread.sleep(1000);thread.interrupt();

Thread.interrupted()相关推荐

  1. Java并发编程的基础-Thread.interrupted

    通过interrupt,设置了一个标识告诉线程可以终止了,线程中还提供了静态方法Thread.interrupted()对设置中断标识的线程复位.比如在上面的案例中,外面的线程调用thread.int ...

  2. Thread.interrupted()与Thread.currentThread().isInterrupted()区别

    背景 今天在研究ThreadPoolExecutor源码时,在runWorker(Worker w)的方法中有一个判断条件分别用到了Thread.interrupted()和Thread.curren ...

  3. Thread.interrupted()与Thread.isInterrupted()的区别

    调用Thread.interrupt()方法并不能真正停止线程,只是在当前线程做了一个中断的状态标志. public class MyThread extends Thread{@Overridepu ...

  4. Thread.currentThread().interrupt()和Thread.interrupted()和Thread.currentThread().isInterrupted()

    Thread.interrupted() 可以返回当前标志位并使标志位为false Thread.currentThread().interrupt() 可以使标志位置为true Thread.cur ...

  5. 【并发编程】 --- Reentrantlock源码解析5:再探不可中断性 + 线程unpark后诡异的Thread.interrupted()判断

    文章目录 1 想要读懂这篇文章必须要拥有的前置知识 2 想写这篇文章的原因 3 困扰我很久的Reentrantlock源代码1 --- 貌似无用的变量failed 4 困扰我很久的Reentrantl ...

  6. Java Thread类的静态布尔型interrupted()方法(带示例)

    线程类静态布尔型interrupted() (Thread Class static boolean interrupted()) This method is available in packag ...

  7. 简述Thread的interrupt()、interrupted()及isInterrupted()的区别

    前言 在java Thread类中,我们会看到interrupt().interrupted()及isInterrupted(),在大多数情况下,我们都不会使用到它们,但是有一个Interrupted ...

  8. Thread类中interrupt()、interrupted()和isInterrupted()方法详解

    首先看看官方说明: interrupt()方法 其作用是中断此线程(此线程不一定是当前线程,而是指调用该方法的Thread实例所代表的线程),但实际上只是给线程设置一个中断标志,线程仍会继续运行. i ...

  9. Java多线程3:Thread中的静态方法

    Thread类中的静态方法 Thread类中的静态方法表示操作的线程是"正在执行静态方法所在的代码块的线程".为什么Thread类中要有静态方法,这样就能对CPU当前正在运行的线程 ...

最新文章

  1. 代码和普通的java_Java中普通代码块,构造代码块,静态代码块区别及代码示例...
  2. oracle更改编码
  3. python为什么用class_python为什么会有@classmethod?
  4. System.Data.Entity.Core.MetadataException:“Unable to load the specified metadata resource.”
  5. 三种水平居中布局~详细
  6. linux 取出本机IP
  7. 【渝粤教育】广东开放大学 java程序设计基础 形成性考核 (39)
  8. 软件工程毕业答辩常问的问题
  9. r语言平均值显著性检验_R语言标记显著性标记
  10. 微信朋友圈python广告评论_利用Python让你的微信朋友圈与众不同,更加高大上
  11. 想成为魅力十足的人的十大习惯
  12. JavaWeb web.xml配置详解
  13. latex参考文献太长,换行处理
  14. [特别篇] 评中国药学家距诺贝尔奖一步之遥
  15. [算法设计题] 双栈结构
  16. uniapp 流文件pdf_uniapp写入字节流文件bytes
  17. PowerPoint2007界面元素推荐
  18. C++ 使用new申请内存
  19. 信息安全从业人员证书——CISP(附培训课件资料)
  20. 输入一个字母,输出后五个字母

热门文章

  1. Cron 定时任务 时间设置
  2. Pandas数据可视化原来也这么厉害!
  3. PhotoMOS输出光电耦合器的概要
  4. FODM8061半距微型扁平逻辑兼容的高速光电耦合器
  5. [web] request的Content-Type小结
  6. 多场景项目实战 (总结有点多今天)
  7. sublime text3--js智能提示插件以及其他常用插件
  8. Oracle Oracle数据库常用命令、Linux监听配置、oracle linux下开放1521端口
  9. 中序遍历二叉树-非递归方式实现-附C++代码
  10. catalan 数。。