优雅的停止线程

在平常的开发中我们想打断一个正在blocking的线程,或者结束执行任务超时的线程可以通过下面的几种方式优雅的停止线程。、

  • 1.利用标识符去停止一个线程


    image.png

    通过捕获到标识符的改变从而结束任务,结束线程。

  • 2.利用java的Interrupt()去结束线程
image.png

执行结果


image.png

通过调用Interrupt()抛出一个InterruptedException程序捕获到这个异常后结束blocking(sleeping,waiting等)

  • 3.利用设置守护线程去结束线程。
    在实际开发中,有些情况下程序没有机会去判断标识符,也没有机会去捕获到InterruptedException,这种情况下,利用守护线程的特点能有效的帮我们结束想结束的线程。


    image.png

    执行:


    image.png

    执行结果:
    image.png

你可能感兴趣的:(优雅的停止线程)