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

public class InterruptDemo { private static int i; public static void main(String[] args) throws InterruptedException { Thread thread=new Thread(()->{ while(true){ if(Thread.currentThread().isInterrupted()){   System.out.println("before:"+Thread.currentThread().isInterrupted()); Thread.interrupted(); //对线程进行复位,由true变成false System.out.println("after:"+Thread.currentThread().isInterrupted()); } } },"interruptDemo"); thread.start(); TimeUnit.SECONDS.sleep(1); thread.interrupt(); }
} 

Java并发编程的基础-Thread.interrupted相关推荐

  1. 学习笔记:Java 并发编程①_基础知识入门

    若文章内容或图片失效,请留言反馈. 部分素材来自网络,若不小心影响到您的利益,请联系博主删除. 视频链接:https://www.bilibili.com/video/av81461839 视频下载: ...

  2. Java并发编程实战基础概要

    文章目录 Java并发编程实战基础概要 开篇 多线程问题有啥难点呢? 为啥要学习并发编程? 并发问题的根源是什么? CPU切换线程执导致的原子性问题是如何发生的? 缓存导致的可见性问题是如何发生的? ...

  3. JAVA并发编程的基础

    1.线程简介 什么是线程? 操作系统在运行一个程序时,会为其创建一个进程. 线程是操作系统调度的最小单元,也叫轻量级进程. 在一个进程里可以创建多个线程,这些线程拥有各自的计数器.堆栈和局部变量等属性 ...

  4. java并发编程艺术——基础篇

    这篇文章目的是为了总结一下这段时间看<java并发编程艺术>学到的东西,尝试用自己的话说出来对java多线程的理解和使用. 一.什么是多线程,为什么要用多线程,多线程带来的挑战 多线程定义 ...

  5. java并发编程:多线程基础

    文章目录 并发编程三要素 并发编程内存模型 多线程 创建线程的三种方式 volatile synchronized 线程池 ThreadPoolExcutor![在这里插入图片描述](https:// ...

  6. Java并发编程实战~Worker Thread模式

    在上一篇文章中,我们介绍了一种最简单的分工模式--Thread-Per-Message 模式,对应到现实世界,其实就是委托代办.这种分工模式如果用 Java Thread 实现,频繁地创建.销毁线程非 ...

  7. JAVA并发编程JUC基础学习(简介)

    2019独角兽企业重金招聘Python工程师标准>>> 之前写过一篇并发编程的简单实例应用,Future快速实现并发编程,可以很快的在自己的项目中应用,但并不系统,之前说过总结一篇( ...

  8. Java并发编程笔记—基础知识—实用案例

    如何正确停止一个线程 1)共享变量的使用 中断线程最好的,最受推荐的方式是,使用共享变量(shared variable)发出信号,告诉线程必须停止正在运行的任务.线程必须周期性的核查这一变量(尤其在 ...

  9. Java并发编程的基础-为什么要复位

    Thread.interrupted()是属于当前线程的,是当前线程对外界中断信号的一个响应,表示自己已经得到了中断信号,但不会立刻中断自己,具体什么时候中断由自己决定,让外界知道在自身中断前,他的中 ...

最新文章

  1. 不焦虑、不内卷能拿图灵奖吗?来自智源研究院的灵魂拷问
  2. mysql 冷热数据分离_elasticsearch冷热数据读写分离
  3. Git创建repository,以及clone,提交一个repository
  4. Linq 团队的问题
  5. es 查询语法_ES 在数据量很大的情况下(数十亿级别)如何提高查询效率啊?
  6. 数据库常用面试题(SQL Server) (转载)
  7. Linux 零拷贝 sendfile函数中文说明及实际操作
  8. CVPR2014: DeepID解读
  9. Linux的实际操作:用户管理(用户添加useradd -d和设置用户密码passwd)
  10. python中0、1、True、False、if条件
  11. select、poll和epoll
  12. docker镜像启动后端口号是多少_java项目docker云化入门
  13. MySQL Workbench 使用 (3):数据库备份与恢复
  14. html网页中获取vf数据到mysql_vfp教程之用FoxWeb在网上快速发布你的FOXPRO数据库
  15. ES(elasticsearch)测试数据
  16. 任正非、董明珠、曹德旺,中国实业三大网红!他们有个共同点:坚决不做一件事!
  17. matlab航电系统仿真,航空航天和国防
  18. 使用MATLAB提取图片中特定颜色
  19. Linux下使用md5sum计算和检验MD5码
  20. 全新的3D采样捕捉工具:Substance 3D Sampler(Sa) mac中文版

热门文章

  1. P1311 选择客栈
  2. 3章-字符串类型操作
  3. python后端从数据库请求数据给到前端的具体实现
  4. Android随机生成四则运算
  5. Android RecyclerView 使用完全解析 体验艺术般的控件
  6. WP8.1学习系列(第二十二章)——在页面之间导航
  7. CYQ.Data 轻量数据层之路 使用篇-MAction 取值赋值 视频[带音乐] F (二十四)
  8. 【Findbugs】Findbugs使用指南
  9. Linux 下hosts文件详解
  10. vuex第三弹vuex之actions(前端网备份)