美文网首页
Java基础-线程-停止

Java基础-线程-停止

作者: 16325 | 来源:发表于2020-04-03 11:23 被阅读0次

stop()方法

  • 立刻释放所有monitors
  • 可能会导致一系列难以处理的问题
  • 新版本stop方法不可用,会直接抛异常
  • 举个例子:程序运行中直接关机

interrupt()方法

  • interrupt()其本身并不是一个强制打断线程的方法,其仅仅会修改线程的interrupt标志位,然后让线程自行去读标志位,自行判断是否需要中断。


    image.png
  • 一般的,我们会在执行耗时操作前去做isInterrupted()的判断,比如说IO、网络之类的,避免多余的操作。

  • 也顺便说明的下对象里的wait()和线程里的sleep()方法,为什么总是和InterruptedException扯到一起?在设计里,如果线程处于休眠状态,那一旦其被调用interrupt()方法,则就没有必要继续休眠下去了,直接抛出异常InterruptedException,让被打断线程去做收尾操作,及时释放线程资源。

    image.png
  • interrupt()是一个“很软”的操作,也就是提醒线程应该结束了,至于如何结束,什么时候结束,以及是否需要结束,都是由线程自行处理。所以,interrupt()的使用,会让开发做更多的事,但这是有必要的,因为只有线程自己,才知道如何合适的结束自己。

  • 还有一个Thread的类方法intermpted() ,这个和线程对象的isInterrupted方法区别就是,isInterrupted不会清除中断标记。

退出标志

  • 开启多线程时,运行代码通常是循环结构,只要控制住循环,就可以让run方法结束,也就是线程结束。
public class StopThread implements Runnable{
    private volatile boolean flag = true;
    @Override
    public void run() {
        while (flag) {
                System.out.println(Thread.currentThread().getName() + "...run");
        }
        System.out.println("...stop");
    }
       
    public void set() {
        flag = false;
    }
}

相关文章

  • Java基础-线程-停止

    stop()方法 立刻释放所有monitors 可能会导致一系列难以处理的问题 新版本stop方法不可用,会直接抛...

  • java多线程--Callable

    **移步[java多线程系列文章]Java多线程(二十二)---LockSupport工具Java 停止线程 一、...

  • 如何正确的中断线程?你的姿势是否正确

    Java停止线程的逻辑(协同、通知) 在Java程序中,我们想要停止一个线程可以通过interrupt方法进行停止...

  • java并发之守护线程

    java中有两种线程,用户线程和守护线程用户线程:主线程停止时,用户线程不会停止守护线程:主线程停止时,守护线程也...

  • Java多线程(二)

    Java多线程(二) 上一篇“Java多线程(一)”主要讨论的是线程的创建,本章主要讨论停止线程。 1.概述 停止...

  • 总结多线程与设计模式+synchronized+性能+高吞吐+死

    Java线程 Java语言的线程 何谓线程 线程启动 线程的暂时停止 线程的共享互斥 线程的协调 线程的状态转移 ...

  • 技术体系

    一,java核心 java基础,jvm,算法,多线程,设计模式 Java基础:java基础相关,全栈java基础 ...

  • Java多线程目录

    Java多线程目录 Java多线程1 线程基础Java多线程2 多个线程之间共享数据Java多线程3 原子性操作类...

  • android 多线程 — 线程的面试题和答案

    这里都是我从各个地方找来的资料,鸣谢: Java多线程干货系列—(一)Java多线程基础 JAVA多线程和并发基础...

  • 简易线程池实现

    ThreadPool.java PThread.java--永不停止的线程,用于配合线程池 Mythread.ja...

网友评论

      本文标题:Java基础-线程-停止

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