中断机制之静态方法Interupted

方法介绍

public static boolean interrupted()
静态方法 Thread.interrupted();

  • 判断线程是否被中断并清除当前中断状态(做了两件事情)
    • 1.返回当前线程的中断状态,测试当前线程是否已被中断
    • 2.将当前线程的中断状态清零并重新设置为false,清除线程的中断状态
    • 3.这个方法有点不好理解在于如果连续两次调用此方法,则第二次返回false,因为连续调用两次的结果可能不一样

案例

package com.kwfruit.thread.interruptdemo;

import java.util.concurrent.TimeUnit;

public class InterruptDemo4 {


    public static void main(String[] args) {
        //测试当前线程是否被中断(检查中断标志), 返回一个boolean并清除中断状态,
        //第二次再调用时中断状态已经被清除,将返回一个false。

        System.out.println(Thread.currentThread().getName()+"\t"+Thread.interrupted());//false
        System.out.println(Thread.currentThread().getName()+"\t"+Thread.interrupted());//false
        System.out.println("--1");
        Thread.currentThread().interrupt(); //中断标志位设置为true
        System.out.println("--2");
        System.out.println(Thread.currentThread().getName()+"\t"+Thread.interrupted());//true
        System.out.println(Thread.currentThread().getName()+"\t"+Thread.interrupted());//false

    }

}


posted @ 2024-01-21 17:44  KwFruit  阅读(6)  评论(0编辑  收藏  举报