广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

惠州Java如何中断线程?_北大青鸟IT计算机学校

作者:邓华发布时间:2021-03-24分类:Java技术浏览:814


导读:相信大家在学习Java的过程在会遇到各种各样的问题,例如:Java如何中断线程?那么下面我们一起来看看惠州北大青鸟学术部老师是怎么讲解这道题的。

相信大家在学习Java的过程在会遇到各种各样的问题,例如:Java如何中断线程?那么下面我们一起来看看惠州北大青鸟学术部老师是怎么讲解这道题的。

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

/*
author by w3cschool.cn
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()=true
in run() - 中断 work2() 方法

想知道更多关于Java的资讯,联系在线客服,或者来惠州北大青鸟新方舟校区了解了解。

Java9.png

Java

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学校北大青鸟IT软件学校北大青鸟IT学校


Java技术排行
标签列表
网站分类
文章归档
最近发表