zoukankan      html  css  js  c++  java
  • JAVA线程中断

    JAVA线程中断

    中断机制

    如果线程被interrupt,大概有这么几种情况。

    • 1、如果线程堵塞在object.wait、Thread.join和Thread.sleep,将会清除线程的中断状态,并抛出InterruptedException;

    • 2、如果线程堵塞在java.nio.channels.InterruptibleChannel的IO上,Channel将会被关闭,线程被置为中断状态,并抛出java.nio.channels.ClosedByInterruptException;

    • 3、如果线程堵塞在java.nio.channels.Selector上,线程被置为中断状态,select方法会马上返回,类似调用wakeup的效果;

    • 4、如果调用thread.interrupt()方法,仅仅是设置线程的中断状态为true。

    中断的使用

    中断是实现任务取消的最合理的方式。在广泛接受的编程规范,中断处理应该尽可能迅速。

    一般而言,我们提供的库不应该捕获中断,而是应该直接抛出中断让调用者决定。

  • 相关阅读:
    BZOJ 3991 set维护dfs序
    BZOJ 4547 矩阵快速幂
    WERTYU | TEX Quotes
    高精度运算
    最大公约数和最小公倍数
    老鼠的旅行
    数据交换
    1136 A Delayed Palindrome
    1137 Final Grading
    1138 Postorder Traversal
  • 原文地址:https://www.cnblogs.com/muzhongjiang/p/13712234.html
Copyright © 2011-2022 走看看