線程的生命週期
suspend()方法:暫時掛起線程;
resume()方法:恢復掛起的線程;
stop()方法:停止線程。
對於以上三個方法不推薦使用,它們已經被慢慢廢除掉了,主要原因是這三個方法在使用時容易產生死鎖問題。
既然不推薦使用以上三個方法,但是我們可以在線程的開發中設置標誌位的方式停止一個線程的運行(這在上一節的線程經典操作案例中也提到了)。
例:停止線程的運行
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(); //線程停止,修改標誌位
}
}
//結果:
//(無)