线程的声明周期
-
创建线程之后通过通过start()进入到运行状态
-
在执行过程中可以使用yield()礼让线程
-
如果一个线程需要暂停可以使用suspend(), sleep(), wait() ,
-
如果线程不需要在执行,可以通过stop结束线程,run()方法执行完毕也表示结束
-
一些方法不再建议使用,因为这三个方法都会产生死锁
- suspend() : 暂时挂起线程
- resume() : 恢复挂起的线程
- stop() : 停止线程
-
通过标志位停止线程运行
public class ThreadLife {
public static void main(String[] args) {
LifeDemo ld = new LifeDemo();
Thread td = new Thread(ld,"线程A");
td.start();
try{
Thread.sleep(15);
}catch(InterruptedException e){}
ld.stop(false);//通过flag 标记停止线程
}
}
class LifeDemo implements Runnable{
private boolean flag = true;
@Override
public void run() {
int i = 0;
while(flag){
System.out.println(Thread.currentThread().getName()+" "+i++);
}
}
public void stop(boolean flag){
this.flag = flag ;
}
}