Java Thread isinterrupted()方法

java.lang.Thread.isInterrupted() 方法测试该线程是否已被中断。线程的中断状态不受该方法影响。因为一个线程不是活在中断的时间线中断将被忽略,通过此方法来返回false。

1 语法

public boolean isInterrupted()

2 参数

3 返回值

如果该线程已经中断此方法返回true;否则为false。

4 示例 

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 * java.lang.Thread.isInterrupted()方法的例子
 */
import java.lang.*;

public class Demo implements Runnable {

    Thread t;

    Demo() {

        t = new Thread(this);
        System.out.println("Executing " + t.getName());
        // this will call run() fucntion
        t.start();

        // tests whether this thread has been interrupted
        if (!t.isInterrupted()) {
            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 Demo();
        new Demo();
    }
}

输出结果为:

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

热门文章

优秀文章