Java 7同時プログラミング実戦(一)スレッドの中断
3081 ワード
スレッドの割り込みを制御する方法は、一般的にブール値を定義し、while(ブール値)が実行するが、スレッドを停止するには、ブール値をfalseに設定する.
2つ目はInterruptです
この例では、1から10に印刷されたスレッドをシミュレートし、5になるとスレッドを中断し、主にスレッドでスナップします.
Mainメソッドでの割り込み
印刷結果
2つ目はInterruptです
この例では、1から10に印刷されたスレッドをシミュレートし、5になるとスレッドを中断し、主にスレッドでスナップします.
InterruptedException
public class Test implements Runnable {
@Override
public void run() {
// TODO Auto-generated method stubfor(int i=0;i<10;i++){
System.out.println(" "+i);
try {
TimeUnit.SECONDS.sleep(1);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
System.out.println(" interrupterd");
}
}
}
}
Mainメソッドでの割り込み
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Test tt = new Test();
Thread thread = new Thread(tt);
thread.start();
try {
TimeUnit.SECONDS.sleep(5);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
thread.interrupt();
}
}
印刷結果
0
1
2
3
4
interrupterd
5
6
7
8
9