您当前的位置:首页 > IT编程 > Java
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch |

自学教程:Java 实例 - 中断线程

51自学网 2023-01-08 20:13:29
  Java
这篇教程Java 实例 - 中断线程写得很实用,希望能帮到您。

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

Main.java 文件

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 < 100000; 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()=truein run() - 中断 work2() 方法

Java 实例 - 查看线程优先级
windows系统下安装JDK8
51自学网,即我要自学网,自学EXCEL、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。
京ICP备13026421号-1