美文网首页Java 杂谈
JAVA终止线程的方法

JAVA终止线程的方法

作者: 启示录是真的 | 来源:发表于2018-05-28 11:26 被阅读5次

如何正确地停止一个线程

方法如下:

使用退出标志,使线程正常退出,也就是当 run 方法完成后线程终止

使用 interrupt 方法中断线程

退出标志法:

需要 while() 循环在某以特定条件下退出,最直接的办法就是设一个 boolean 标志,并通过设置这个标志来控制循环是否退出:

需要注意的是:isCancelled 需要为 volatile,保证线程读取时 isCancelled 是最新数据

interrupt法终止:

如果线程是阻塞的,则不能使用退出标志法来终止线程。这时就只能使用 Java 提供的中断机制:

void interrupt()无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!很多干货和技术资料分享!有导师分享知识点,也可以直接问,每天学习的都不一样,推荐一个学JAVA的技术分享裙【 一三三,九三零,六九三】,裙内有开发工具,视频,系列资料等

无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!很多干货和技术资料分享!有导师分享知识点,也可以直接问,每天学习的都不一样,推荐一个学JAVA的技术分享裙【 一三三,九三零,六九三】,裙内有开发工具,视频,系列资料等如果线程处于被阻塞状态,那么线程将立即退出被阻塞状态,并抛出一个 InterruptedException 异常

如果线程处于正常活动状态,那么该线程的中断标志为 true。

static boolean interrupted()

测试当前线程是否被中断。这一调用会将当前线程的中断状态重置为 false

boolean isInterrupted()

测试线程是否被终止。不像静态的中断方法,这一调用不改变线程的中断状态

终止 实例代码

以上代码运行输出结果为:

相关文章

  • 多线程之中断线程

    1、 java中没有可以强制线程终止的方法。但是存在interrupt方法用来请求终止线程。当对一个线程调用int...

  • Java 停止线程

    1概述 在Java中有以下3种方法可以终止正在运行的线程: 1)当run方法完成后线程终止。 2)使用stop方法...

  • 线程的停止

    在Java中有以下3中方法可以终止正在运行的线程: 使用退出标志,使线程正常退出,也就是当run方法完成后线程终止...

  • JAVA终止线程的方法

    如何正确地停止一个线程 方法如下: 使用退出标志,使线程正常退出,也就是当 run 方法完成后线程终止 使用 in...

  • Java中断线程

    Java并没有提供真正中断线程的方法, 中断线程最好的方法就是让线程执行完成自然终止 ,stop(),suspen...

  • 多线程(三)

    线程终止 1.run方法正常退出,线程自然终止2.因为一个没有捕获的异常终止了run方法,线程意外终止 线程中断 ...

  • 如何正确停止Java线程,终止Java线程的三种方法

    如何正确停止Java线程,终止Java线程的三种方法 【原创,转载请注明出处】我的 【博客园主页】 【CSD...

  • 线程池(3)终止线程池原理

    终止线程池 一、终止线程池方法 1、 shutdown() 安全的终止线程池 2、 shutdownNow() 强...

  • Java多线程编程核心技术

    第1章 Java多线程技能 在Java中有以下3种方法可以终止正在运行的线程:1)使用退出标志,使线程正常退出,也...

  • 两阶段终止模式:如何优雅地终止线程?

    如何理解两阶段终止模式 Java 语言的 Thread 类中曾经提供了一个 stop() 方法,用来终止线程,现在...

网友评论

    本文标题:JAVA终止线程的方法

    本文链接:https://www.haomeiwen.com/subject/rmgwjftx.html