• 线程中断。。


    线程中断主要设涉及3个方法:实例方法 interrupt、静态方法interrupted、实例方法isInterrupted:

    1. 实例方法 interrupt作用:此方法调用后,如果调用实例线程当前正在调用wait、join、sleep、或在可中断的InterruptibleChannel IO操作、或阻塞在 Selector ,这几种情况下线程会在调用上述方法的代码块中抛出相应的InterruptedException ,但不会将中断状态值interrupt status由false设为true;如果当前现在正在正常执行,则调用interrupt方法调用后只是会设置一下线程的interrupt status,由false变成true;根据此方法的特点,抛出异常与设置中断状态值为true不会同时进行;

    2. 静态方法interrupted作用:清除当前线程的interrupt status状态值,即如果当前线程的中断状态值是true(即已被中断),则调用此方法后中断状态值将变成false,此时方法返回值为true,表示清楚中断状态成功;如果当前线程未被中断,则不会改变中断状态值,此时方法返回值为false。因此,如果在线程已被中断的情况下连续两次调用interrupted方法,第一次返回true,第二次返回false;根据此方法的特点,可以看出:只有当前线程自己才可以将中断状态值由true改为false。

    3. 实例方法isInterrupted作用:只是检测调用实例线程的中断状态值,如果已中断则返回true,否则返回false;

    然否?

  • 相关阅读:
    万能的everything彻底解决mysql问题
    乱码问题
    机器学习学习规划
    NG机器学习笔记
    书籍与博客
    技术规划
    反置数
    多个接口出现同名函数的处理-转
    接口-imploements-委托
    接口使用中,对象生命周期管理-转
  • 原文地址:https://www.cnblogs.com/Struts-pring/p/5145269.html
Copyright © 2020-2023  润新知