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 区别
是否可以在 pyspark 中同时使用 isin() 和通配符搜索?