interrupt()方法理解和实例
本文主要讲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()方法理解和实例相关推荐
- Thread.interrupt()方法理解
多线程编程 不客气地说,至少有一半人认为,线程的"中断"就是让线程停止. 如果你也这么认为,那你对多线程编程还没有入门. 在java中,线程的中断(interrupt)只是改变了线 ...
- K2评分方法理解实例
文章目录 贝叶斯网络:K2评分方法理解实例 贝叶斯网络:K2评分方法理解实例
- interrupt()方法
title:线程中断 date:2017年11月4日23:02:38 今天来看看线程中断的问题. 当一个线程运行时,另一个线程可以调用对应的Thread对象的interrupt()方法来中断它,该方法 ...
- iphone UIView的一些基本方法理解
原文链接地址:http://www.cocoachina.com/bbs/read.php?tid=38766 UIView的一些基本方法理解 UIView的一些基本方法理解:loadView.vie ...
- vue 生命周期_深入理解Vue实例生命周期
vue实例生命周期与生命周期钩子 每个 Vue 实 例在被创建时都会经过一系列的初始化过程.例如,需要设置数据监听.编译模板.将实例挂载到 DOM 并在数据变化时更新 DOM 等. 为了让开发者在 ...
- 三种不同的interrupt方法区别调用
PART1:关于 Thread.interrupted() 和thread.isInterrupted()的重置标识状态区别 Thread.interrupted()方法:通过类调用 thread.i ...
- __init__在python中的用法知乎_python中对_init_的理解及实例解析 python为什么要有一个init函数 知乎...
Python中"__init__"的意义是什么? Python中__init__的意义依偎着你心跳声如此频繁,就算世界末日小编也会嚣张的笑. 测试人员学python时,应该如何理解 ...
- iOS class深入理解: 实例对象、类对象、元类和isa指针
你要知道的class都在这里 转载请注明出处http://blog.csdn.net/u014205968/ 深入代码理解instance.class object.metaclass 面向对象编程中 ...
- 熵 熵的简单理解和实例
熵 熵的简单理解和实例 熵是信息量,越大越混乱,越小越确定 1. 熵的由来 假设两个相互独立随机变量,x,y的概率分布分别为p(x),p(y).那么联合概率分布: P(x,y)=p(x)⋅p(y)P( ...
最新文章
- 如何设计一个安全的对外接口?
- Reids报错解决:Job for redis-server.service failed because the control process exited with error code.
- 取石头游戏 c语言,[HNOI2010]取石头游戏(博弈论+贪心)
- 霸气侧漏HTML5--之--canvas(1) api + 弹球例子
- Ubuntu ls可以查看到文件,图形界面却看不到
- mybatis注册了mapper但是还是报错_springboot整合Mybatis
- 深入浅出无人机姿态,欧拉角,四元数,指数表示及数据转换与程序实现
- 【玩转cocos2d-x之三十四】绘图:CCDrawingPrimitives和CCDrawNode
- 采用Memcached实现分布式Session
- Java StackTraceElement toString()方法与示例
- Github新安全措施:停止Git客户端账号密码登录的解决方案
- scrapy异步写入mysql_scrapy之异步写入数据库
- java word另存为_Java 网页html转为word并保存为doc文件
- 帆软报表 修改 加载中 文字
- centos 关闭命令行警报声
- HDU 1358 (所有前缀中的周期串) Period
- 机器学习,总是不得其法,问题出在哪里?
- 回忆我的军训,好怀念那时啊!
- centos7,PPTP搭建简易教程
- JavaWeb企业在线文档管理系统