javaが変数を共有することにより、run停止スレッドを終了する方法の例
1604 ワード
stop()方法はすでに廃棄されました。安全ではないからです。API文書では、具体的な詳細な説明が与えられている。interrupted()方法でスレッドを中断します。おすすめしません。変数を共有することにより、run()メソッドを終了し、スレッドを停止します。実例のように
public class ThreadInterrupt {
public static void main(String []args){
Runner run = new Runner();
run.start();
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
}
//run.stop();// , ,
//run.interrupt(); // , ,
run.flag=false;//
}
}
class Runner extends Thread{
boolean flag = true;
public void run(){
/* while(true){
System.out.println(new Date()+"----");
try {
sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
System.out.println("Interrupted");
return;
}
}
*/
while(flag){
System.out.println(new Date()+"----");
try {
sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
System.out.println("Interrupted");
return;
}
}
}
}