スレッドのライフサイクル
suspend()メソッド:スレッドを一時的に中断します;
resume()メソッド:中断されたスレッドを再開します;
stop()メソッド:スレッドを停止します。
上記の3つの方法の使用は推奨されていません。徐々に廃止されました。主な理由は、これらの3つの方法を使用するとデッドロックの問題が発生しやすくなるためです。
上記の3つの方法は推奨されないため、スレッドの開発でフラグビットを設定することにより、スレッドの実行を停止できます(これは、前のセクションの従来のスレッド操作のケースでも説明されています)。
例:スレッドの実行を停止する
package Project.Study.Multithreading;
class MyThread9 implements Runnable{
private boolean flag=true; //定义标志位属性
public void run(){ //覆写run()方法
int i=0;
while(this.flag){ //循环输出
while(true){
System.out.println(Thread.currentThread().getName()+"运行,i="+(i++));
}
}
}
public void stop(){ //编写停止方法
this.flag=false; //修改标志位
}
}
public class Test13 {
public static void main(String []args){
MyThread9 mt=new MyThread9(); //实例化Runnable接口对象
Thread t=new Thread(mt,"线程"); //建立线程对象
t.start(); //启动线程
mt.stop(); //线程停止,修改标志位
}
}
//结果:
//(无)