java线程interrupt用法_Java 如何中断线程

本文详细介绍了如何在Java中中断线程,通过实例展示了如何使用interrupt()方法中断线程,并利用isInterrupted()检查线程中断状态。在main()方法中调用interrupt()中断线程,工作线程通过isInterrupted()检测到中断信号并终止运行。
摘要由CSDN通过智能技术生成

本篇文章帮大家学习java 如何中断线程,包含了Java 如何中断线程使用方法、操作技巧、实例演示和注意事项,有一定的学习价值,大家可以用来参考。

以下实例演示了如何使用interrupt()方法来中断线程并使用 isInterrupted() 方法来判断线程是否已中断:public class Main extends Object

implements Runnable {

public void run() {

try {

System.out.println("in run() - 将运行 work2() 方法");

work2();

System.out.println("in run() - 从 work2() 方法回来");

}

catch (InterruptedException x) {

System.out.println("in run() - 中断 work2() 方法");

return;

}

System.out.println("in run() - 休眠后执行");

System.out.println("in run() - 正常离开");

}

public void work2() throws InterruptedException {

while (true) {

if (Thread.currentThread().isInterrupted()) {

System.out.println("C isInterrupted()=" + Thread.currentThread().isInterrupted());

Thread.sleep(2000);

System.out.println("D isInterrupted()=" + Thread.currentThread().isInterrupted());

}

}

}

public void work() throws InterruptedException {

while (true) {

for (int i = 0; i 

int j = i * 2;

}

System.out.println("A isInterrupted()=" + Thread.currentThread().isInterrupted());

if (Thread.interrupted()) {

System.out.println("B isInterrupted()=" + Thread.currentThread().isInterrupted());

throw new InterruptedException();

}

}

}

public static void main(String[] args) {

Main si = new Main();

Thread t = new Thread(si);

t.start();

try {

Thread.sleep(2000);

}

catch (InterruptedException x) {

}

System.out.println("in main() - 中断其他线程");

t.interrupt();

System.out.println("in main() - 离开");

}

}

运行结果:in run() - 将运行 work2() 方法

in main() - 中断其他线程

in main() - 离开

C isInterrupted()=true

in run() - 中断 work2() 方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值