java并发中的interrupt
来源:互联网 发布:js 弹出是否 对话框 编辑:程序博客网 时间:2024/05/17 13:41
interrupt用来干嘛
终止被阻塞的任务。当抛出异常或该任务调用Thread.interrupted()时,中断状态将被复位。
阻塞状态
1)调用sleep()进入睡眠状态
2)调用wait()将线程挂起
3)任务在等待某个输入输出的完成
4)任务试图在某个对象上调用其同步控制方法。但是对象锁不可用。因为另外一个任务已经获得这个锁
3)、4)两种情形将不会被中断
简单Demo
public class Interrupted { public static void main(String[] args) throws InterruptedException { Thread sleepThread = new Thread(new SleepRunner(), "SleepThread"); sleepThread.setDaemon(true); Thread busyThread = new Thread(new BusyRunner(), "BusyThread"); busyThread.setDaemon(true); sleepThread.start(); busyThread.start(); TimeUnit.SECONDS.sleep(5); sleepThread.interrupt(); busyThread.interrupt(); System.out.println("SleepThread interrupted is " + sleepThread.isInterrupted()); System.out.println("BusyThread interrupted is " + busyThread.isInterrupted()); //防止另外两个线程立即退出 SleepUtils.second(2);}static class SleepRunner implements Runnable { @Override public void run() { while (true) { SleepUtils.second(10); } }}static class BusyRunner implements Runnable { @Override public void run() { while (true) {} }}
}
那个没有被阻塞的线程不能被打断,并且在抛出异常时重置中断标识位
Thread.interrupt()提供了离开了run()循环而不抛出异常的方法
阅读全文
0 0
- java并发中的interrupt
- 【Java并发编程】interrupt
- Java并发编程中的join()与interrupt()函数
- Java并发编程-interrupt()方法
- java中的interrupt
- Java多线程/并发08、中断线程 interrupt()
- java线程中的interrupt,isInterrupt,interrupted方法
- java线程中的interrupt,isInterrupt,interrupted方法
- Java中的线程的唤醒Thread.interrupt()
- Java中的线程Thread方法之---interrupt()
- Java中的线程Thread方法之---interrupt()
- java线程中的interrupt,isInterrupt,interrupted方法
- Java多线程中的interrupt、interrupted、isInterrupted
- java线程中的interrupt,isInterrupt,interrupted方法
- java线程中的interrupt,isInterrupt,interrupted方法
- Java中的线程Thread方法之---interrupt()
- java线程中的interrupt,isInterrupt,interrupted方法
- Java中的线程Thread方法之---interrupt()
- em rem px vw vh用法
- jQuery钢琴键特效
- 事务具有4个属性:原子性、一致性、隔离性、持久性
- 美的集团豪掷80亿,收购德国机器人公司1/4股份
- Maven创建 module和project的区别
- java并发中的interrupt
- EventBus用法详解
- 宋宝华-谈Linux的总线、设备、驱动模型
- vivo产品DNA大变革,X7系列开始将以拍照为核心!
- 腾讯安全联合实验室矩阵发布,“七大掌门人”首次集中亮相
- 阿里云Centos7.2安装MySQL
- Date.now()和Date.parse()的解释
- laravel在进行post提交注意
- python 爬虫之 Urllib库的基本使用