本文主要讲interrupt方法的用途和用法,还请大家往下看。

jdk中的描述是这样的:
interrupt():中断这个线程。 除非当前线程中断自身,这是始终允许的,所以调用此线程的checkAccess方法,这可能会导致抛出SecurityException 。 如果该线程阻塞的调用wait() , wait(long) ,或wait(long, int)的方法Object类,或者在join() , join(long) , join(long, int) , sleep(long) ,或sleep(long, int) ,这个类的方法,那么它的中断状态将被清除,并且将收到一个InterruptedException 。 如果该线程在可阻止在I / O操作InterruptibleChannel则信道将被关闭,该线程的中断状态将被设置,并且螺纹将收到一个ClosedByInterruptException 。 如果该线程在Selector中被阻塞,则线程的中断状态将被设置,并且它将从选择操作立即返回,可能具有非零值,就像调用了选择器的wakeup方法一样。 如果以前的条件都不成立,则该线程的中断状态将被设置。 中断不存在的线程不需要任何效果。

第一种情况它可以打断sleep(),wait(),join()阻塞的线程,案例如下
运行结果:

第一种情况的打断标记是:false,表明它打断的是阻塞线程。

第二种情况:它可以打断正在运行的线程,案例运行和输出结果如下:

第二种情况是打断正在运行的线程,它的打断标记是true,表明打断的是运行的线程。

总结:我自己认为这个打断,就像两个人谈话,其中一个人滔滔不绝的讲着,另一个人突然有自己的想法,然后发出打断指令,被打断的人接收到指令后,分两种情况,第一种不管指令真假就是不理你,继续自己讲着;第二种情况为,在意指令的真假,为真打断,反之不打断。自己也可以打断自己的线程。个人理解是这样,如有不同的,私信可以讨论研究研究。

interrupt()方法理解和实例相关推荐

  1. Thread.interrupt()方法理解

    多线程编程 不客气地说,至少有一半人认为,线程的"中断"就是让线程停止. 如果你也这么认为,那你对多线程编程还没有入门. 在java中,线程的中断(interrupt)只是改变了线 ...

  2. K2评分方法理解实例

    文章目录 贝叶斯网络:K2评分方法理解实例 贝叶斯网络:K2评分方法理解实例

  3. interrupt()方法

    title:线程中断 date:2017年11月4日23:02:38 今天来看看线程中断的问题. 当一个线程运行时,另一个线程可以调用对应的Thread对象的interrupt()方法来中断它,该方法 ...

  4. iphone UIView的一些基本方法理解

    原文链接地址:http://www.cocoachina.com/bbs/read.php?tid=38766 UIView的一些基本方法理解 UIView的一些基本方法理解:loadView.vie ...

  5. vue 生命周期_深入理解Vue实例生命周期

    ‍vue实例生命周期与生命周期钩子‍ 每个 Vue 实 例在被创建时都会经过一系列的初始化过程.例如,需要设置数据监听.编译模板.将实例挂载到 DOM 并在数据变化时更新 DOM 等. 为了让开发者在 ...

  6. 三种不同的interrupt方法区别调用

    PART1:关于 Thread.interrupted() 和thread.isInterrupted()的重置标识状态区别 Thread.interrupted()方法:通过类调用 thread.i ...

  7. __init__在python中的用法知乎_python中对_init_的理解及实例解析 python为什么要有一个init函数 知乎...

    Python中"__init__"的意义是什么? Python中__init__的意义依偎着你心跳声如此频繁,就算世界末日小编也会嚣张的笑. 测试人员学python时,应该如何理解 ...

  8. iOS class深入理解: 实例对象、类对象、元类和isa指针

    你要知道的class都在这里 转载请注明出处http://blog.csdn.net/u014205968/ 深入代码理解instance.class object.metaclass 面向对象编程中 ...

  9. 熵 熵的简单理解和实例

    熵 熵的简单理解和实例 熵是信息量,越大越混乱,越小越确定 1. 熵的由来 假设两个相互独立随机变量,x,y的概率分布分别为p(x),p(y).那么联合概率分布: P(x,y)=p(x)⋅p(y)P( ...

最新文章

  1. 如何设计一个安全的对外接口?
  2. Reids报错解决:Job for redis-server.service failed because the control process exited with error code.
  3. 取石头游戏 c语言,[HNOI2010]取石头游戏(博弈论+贪心)
  4. 霸气侧漏HTML5--之--canvas(1) api + 弹球例子
  5. Ubuntu ls可以查看到文件,图形界面却看不到
  6. mybatis注册了mapper但是还是报错_springboot整合Mybatis
  7. 深入浅出无人机姿态,欧拉角,四元数,指数表示及数据转换与程序实现
  8. 【玩转cocos2d-x之三十四】绘图:CCDrawingPrimitives和CCDrawNode
  9. 采用Memcached实现分布式Session
  10. Java StackTraceElement toString()方法与示例
  11. Github新安全措施:停止Git客户端账号密码登录的解决方案
  12. scrapy异步写入mysql_scrapy之异步写入数据库
  13. java word另存为_Java 网页html转为word并保存为doc文件
  14. 帆软报表 修改 加载中 文字
  15. centos 关闭命令行警报声
  16. HDU 1358 (所有前缀中的周期串) Period
  17. 机器学习,总是不得其法,问题出在哪里?
  18. 回忆我的军训,好怀念那时啊!
  19. centos7,PPTP搭建简易教程
  20. JavaWeb企业在线文档管理系统

热门文章

  1. 细说MySQL的时间戳(Timestamp)类型
  2. python util
  3. 半监督学习:MixMatch
  4. 跨设备链路聚合 M-LAG配置案例
  5. Excel相关操作(二)Springboot框架使用easyexcel工具
  6. 灵魂显示正在登录聊天服务器,Soul跟随灵魂找到你
  7. EasyExcel · 写excel
  8. MySQL时间函数总结
  9. Linux下查看icc安装目录,[转载][Linux] icc与ifort编译器
  10. Linux应急响应之挖矿篇