Thread类

本文深入探讨了Java中线程中断的相关函数,包括interrupt()、isInterrupted()及interrupted()的使用方法与作用。解释了如何通过这些函数给线程添加中断标识,检查线程是否中断以及如何清除中断标识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

interrupt相关函数

interrupt() 

描述:给线程添加一个中断标识,但是不影响线程的执行。

/**
 * 中断线程
 */
public void interrupt() {
       if (this != Thread.currentThread())
            checkAccess();

        synchronized (blockerLock) {
            Interruptible b = blocker;
            if (b != null) {
                interrupt0();           // Just to set the interrupt flag
                b.interrupt(this);
                return;
            }
        }
        interrupt0();
}

isInterrupted(boolean ClearInterrupted) 

描述:本地方法,用于判断线程是否中断。 

/**
 * 本地方法
 * @param ClearInterrupted 是否清除中断标识
 */
private native boolean isInterrupted(boolean ClearInterrupted);

 

interrupted()

描述:检查当前线程是否中断,并且清除中断标识。这个函数是一个静态方法,调用当前线程的isInterrupted()方法。

/**
 * 检查线程是否中断,并且清除中断标识
 */
public static boolean interrupted() {
     return currentThread().isInterrupted(true);
}

isInterrupted()

描述:检查线程是否中断,不清除中断标识

public boolean isInterrupted() {
     return isInterrupted(false);
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值