Java.lang.Thread.interrupted() 方法

描述

java.lang.Thread.interrupted() 方法中断该线程。 测试当前线程是否被中断。

如果此方法被连续调用两次,第二次调用将返回 false(除非当前线程再次被中断,在第一次调用清除其中断状态之后,第二次调用检查它之前)。


声明

以下是 java.lang.Thread.interrupted() 方法的声明。

public static boolean interrupted()

参数

NA


返回值

如果当前线程被中断,该方法返回true; 否则为 false 。


异常

NA


示例

下面的例子展示了 java.lang.Thread.interrupted() 方法的使用。

package com.tutorialspoint;

import java.lang.*;

public class ThreadDemo implements Runnable {

   Thread t;

   ThreadDemo() {

      t = new Thread(this);
      System.out.println("Executing " + t.getName());
   
      // this will call run() fucntion
      t.start();
        
      // interrupt the threads
      if (!t.interrupted()) {
         t.interrupt();
      }
      
      // block until other threads finish
      try {  
         t.join();
      } catch(InterruptedException e) {}
   }

   public void run() {
      try {       
         while (true) {
            Thread.sleep(1000);
         }
      } catch (InterruptedException e) {
         System.out.print(t.getName() + " interrupted:");
         System.out.println(e.toString());
      }
   }

   public static void main(String args[]) {
      new ThreadDemo();
      new ThreadDemo();
   }
} 

让我们编译并运行上面的程序,这将产生下面的结果 −

Executing Thread-0
Thread-0 interrupted:java.lang.InterruptedException: sleep interrupted
Executing Thread-1
Thread-1 interrupted:java.lang.InterruptedException: sleep interrupted