线程控制—interrupt()
来源:互联网 发布:vscode自动编译sass 编辑:程序博客网 时间:2024/05/06 00:11
interrupt()方法
注意:(★:注意程度,仅对于我自己而言)
①★一个线程可以调用另外一个线程的interrupt()方法,
这将向暂停的线程发出一个InterruptedException,
变相起####到唤醒暂停线程的功能,是一种强制唤醒的技术
②★★一般来说,用于叫醒正在睡眠的线程
③★非静态方法
代码Demo:
//通过interrupt()强行叫醒某个线程来达到控制线程的目的public class Interrupt {//思路:1、不管是t1线程还是t2线程抢到CPU资源,都让其睡3秒// 2、两个线程启动之后,睡了2秒之后,强制启动t1线程public static void main(String[] args) {MyRun mr1 = new MyRun(1);Thread t1 = new Thread(mr1);t1.setName("线程1");//设置线程名MyRun mr2 = new MyRun(2);Thread t2 = new Thread(mr2);t2.setName("线程2");//启动--就绪态t1.start();t2.start();//睡了2秒之后,强行叫醒t1线程try {Thread.sleep(2000);t1.interrupt();//强制叫醒t1线程} catch (InterruptedException e) {}}}class MyRun implements Runnable{private int num = 0;public MyRun(int num) {this.num = num;}@Overridepublic void run() {try {Thread.sleep(3000);} catch (InterruptedException e) {}for(int i=num;i<=10;i+=2){//Thread.currentThread()--静态方法,返回对当前正在执行的线程对象的引用Thread thread = Thread.currentThread();String name = thread.getName();System.out.print(name+":"+i+" ");}System.out.println();//当其中一个线程run()方法运行完时,空行}}
0 0
- 线程控制—interrupt()
- 线程Interrupt
- Java线程的终止——interrupt
- 利用interrupt停止线程
- 线程中断interrupt
- JAVA线程的interrupt
- 中断线程Interrupt()
- JAVA线程的interrupt
- JAVA线程的interrupt
- java 结束线程 interrupt()
- JAVA线程的interrupt
- 线程中断interrupt
- JAVA线程的interrupt
- 线程基础:interrupt、join
- interrupt 中断线程
- JAVA 线程中断interrupt()
- Interrupt中断结束线程
- 线程中断 interrupt 机制
- Windows的Tex环境配置(TeX Live+WinEdt+SumatraPDF)
- 浅谈每天熬夜写代码的感想
- SSH项目启动报错Unable to load configuration.
- 多线程系列基础(一)
- 170326 PyQt5-复习、文件操作
- 线程控制—interrupt()
- HDU 5546 放棋 (dfs,细心)
- LANMP 环境安装Nginx安装配置
- Android面试思路
- Apache配置虚拟主机无效
- 《算法导论》学习笔记(2):最大子数组
- Android仿微博@好友,#话题#及links处理方案
- UESTC
- Codeforces Round #401 (Div. 2) 【结题报告】