线程的生命周期
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(); //线程停止,修改标志位
}
}
//结果:
//(无)