Java Thread类的静态布尔型interrupted()方法(带示例)

线程类静态布尔 interrupted()

  • 软件包java.lang.Thread.interrupted()中提供了此方法。

  • 此方法用于检查线程是否已被中断。

  • 此方法是静态的,因此我们也可以使用类名访问此方法。

  • 此方法的返回类型为boolean,因此如果线程已中断,则返回true,然后将boolean变量或interrupted标志设置为false后,否则返回false;如果线程未中断,则返回false。

  • 此方法引发异常。

语法:

    static boolean interrupted(){
    }

参数:

在Thread方法中,我们不传递任何对象作为参数。

返回值:

此方法的返回类型为boolean,返回true或false,如果线程已中断,则返回true,然后将boolean标志设置为false,否则返回false。

Java程序演示interrupted()方法示例

/*  We will use Thread class methods so we are importing 
    the package but it is not mandate because 
    it is imported by default
*/

import java.lang.Thread;

class InterruptedThread extends Thread  
{    
	//覆盖run()  Thread类的方法
	public void run() 
	{
		for(int i=0;i<=3;++i){
			/*  By using interrupted() method to check whether 
				this thread has been interrupted or not it will 
				return and execute the interrupted code
			*/
			if(Thread.interrupted())
			{
				System.out.println("Is thread" +Thread.currentThread().getName()+"has been interrupted and status is set to "+" " +Thread.interrupted());
			}
			else
			{
				System.out.println("This thread has not been interrupted");
			}
		}
	}
	public static void main(String args[])  
	{    
		InterruptedThread it1 = new InterruptedThread();    
		InterruptedThread it2 = new InterruptedThread();    

		/*  By using start() method to call the run() method of 
			Thread class and Thread class start() will call run() 
			method of InterruptedThread class
		*/

		it2.start(); 
		it2.interrupt();
		it1.start(); 
	}    
}

输出结果

E:\Programs>javac InterruptedThread.java
E:\Programs>java InterruptedThread
This thread has not been interrupted
This thread has not been interrupted
This thread has not been interrupted
Is thread Thread-1 has been interrupted: false
This thread has not been interrupted
This thread has not been interrupted
This thread has not been interrupted
This thread has not been interrupted
猜你喜欢