Java interrupted()メソッドとisInterruptメソッドの違い
1425 ワード
1、interrupted():現在のスレッドが中断されているかどうかをテストisInterrupted():スレッドが中断されているかどうかをテストする2、interruptedメソッドはクリア状態の機能を有し、テスト例は以下の通りである.
実行結果がtrueとfalse trueの結果はよく説明され、すなわちinterrupt()メソッドが呼び出され、interrupted()メソッドは結果がtrueと判断し、2回目にThreadが実行されると判断する.interrupted()の場合,結果はtrueであり,interrupted()メソッドはクリア状態の機能を有することが分かる.3、isInterrupted()は状態をクリアしない.テスト例は以下の通りである.
実行結果はtrueとtrue、すなわちisInterrupted()はステータスをクリアしません
public class Main1 {
public static void main(String[] args) {
Thread.currentThread().interrupt();
System.out.println(Thread.interrupted());
System.out.println(Thread.interrupted());
}
}
実行結果がtrueとfalse trueの結果はよく説明され、すなわちinterrupt()メソッドが呼び出され、interrupted()メソッドは結果がtrueと判断し、2回目にThreadが実行されると判断する.interrupted()の場合,結果はtrueであり,interrupted()メソッドはクリア状態の機能を有することが分かる.3、isInterrupted()は状態をクリアしない.テスト例は以下の通りである.
public class Main2 {
public static void main(String[] args) {
Thread.currentThread().interrupt();
System.out.println(Thread.isInterrupted());
System.out.println(Thread.isInterrupted());
}
}
実行結果はtrueとtrue、すなわちisInterrupted()はステータスをクリアしません