interruptinterrupted和isInterrupted的区别

Posted 博客首页

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了interruptinterrupted和isInterrupted的区别相关的知识,希望对你有一定的参考价值。

1、interrupt() 
interrupt方法用于中断线程。调用该方法的线程的状态为将被置为"中断"状态。
注意:线程中断仅仅是置线程的中断状态位,不会停止线程。需要用户自己去监视线程的状态为并做处理。
 
2、interrupted() 和 isInterrupted()
public static boolean interrupted () {
    return currentThread().isInterrupted(true);
}
public boolean isInterrupted () {
    return isInterrupted( false);
}
private native boolean isInterrupted( boolean ClearInterrupted);

 

如果这个参数为true,说明返回线程的状态位后,要清掉原来的状态位(恢复成原来情况)。

这个参数为false,就是直接返回线程的状态位。

 

class Example2 extends Thread {
    public static void main(String args[]) throws Exception {
        Example2 thread = new Example2();
        System.out.println("Starting thread...");
        thread.start();
        Thread.sleep(3000);
        System.out.println("Asking thread to stop...");
        // 发出中断请求
        thread.interrupt();
        Thread.sleep(3000);
        System.out.println("Stopping application...");
    }

    public void run() {
        // 每隔一秒检测是否设置了中断标示
        while (!Thread.currentThread().isInterrupted()) {
            System.out.println("Thread is running...");
            long time = System.currentTimeMillis();
            // 使用while循环模拟 sleep
            while ((System.currentTimeMillis() - time < 1000) ) {
            }
        }
        System.out.println("Thread exiting under request...");
    }
}

 

以上是关于interruptinterrupted和isInterrupted的区别的主要内容,如果未能解决你的问题,请参考以下文章

中断了吗?interruptinterrupted isInterrupted 区别

删除行不是 .isin('X') [重复]

是否可以在 pyspark 中同时使用 isin() 和通配符搜索?

PySpark:使用 isin 过滤返回空数据框

4、pandas的数据筛选之isin和str.contains函数

雅虎财经:按 ISIN 或 Ticker 搜索,不带后缀