线程的生命周期

1. 线程生命周期

任何事物都是生命周期,线程也是,

1. 正常终止  当线程的run()执行完毕,线程死亡。

2. 使用标记停止线程

注意:Stop方法已过时,就不能再使用这个方法。

如何使用标记停止线程停止线程。

开启多线程运行,运行代码通常是循环结构,只要控制住循环,就可以让run方法结束,线程就结束。

 

class StopThread implements Runnable {

public boolean tag = true;

@Override

public void run() {

int i = 0;

 

while (tag) {

i++;

System.out.println(Thread.currentThread().getName() + "i:" + i);

}

}

}

public class Demo8 {

public static void main(String[] args) {

StopThread st = new StopThread();

Thread th = new Thread(st, "线程1");

th.start();

for (int i = 0; i < 100; i++) {

if (i == 50) {

System.out.println("main i:" + i);

st.tag = false;

}

}

}

}

上述案例中定义了一个计数器i,用来控制main方法(主线程)的循环打印次数,在i50这段时间内,两个线程交替执行,当计数器变为50,程序将标记改为false,也就是终止了线程1while循环,run方法结束,线程1也随之结束。注意:当计数器i变为50的,将标记改为false的时候,cpu不一定马上回到线程1,所以线程1并不会马上终止。

posted on 2016-10-18 18:15  眼泪笑我愚昧  阅读(125)  评论(0)    收藏  举报

导航