全屏

11.3.2 终止线程的典型方式


【专业IT培训机构,真正零首付入学www.bjsxt.com


      终止线程我们一般不使用JDK提供的stop()/destroy()方法(它们本身也被JDK废弃了)。通常的做法是提供一个boolean型的终止变量,当这个变量置为false,则终止线程的运行。

【示例11-3】终止线程的典型方法(重要)

public class TestThreadCiycle implements Runnable {
	String name;
	boolean live = true;// 标记变量,表示线程是否可中止;
	public TestThreadCiycle(String name) {
		super();
		this.name = name;
	}
	public void run() {
		int i = 0;
        //当live的值是true时,继续线程体;false则结束循环,继而终止线程体;
		while (live) {
			System.out.println(name + (i++));
		}
	}
	public void terminate() {
		live = false;
	}

	public static void main(String[] args) {
		TestThreadCiycle ttc = new TestThreadCiycle("线程A:");
		Thread t1 = new Thread(ttc);// 新生状态
		t1.start();// 就绪状态
		for (int i = 0; i < 100; i++) {
			System.out.println("主线程" + i);
		}
		ttc.terminate();
		System.out.println("ttc stop!");
	}
}

      执行结果如图11-5所示:

图11-5 示例11-3运行效果图(因为是多线程,故每次运行结果不一定一致).png

图11-5 示例11-3运行效果图(因为是多线程,故每次运行结果不一定一致)

分类导航
点击按住视频可拖动

缩小

关闭

  • 正在学习
  • 北京总部地址:北京市海淀区西三旗街道建材城西路中腾建华商务大厦东侧二层尚学堂
  • 咨询电话:400-009-1906 010-56233821
  • Copyright 2007-2015 北京尚学堂科技有限公司
  • 京ICP备13018289号-1 京公网安备11010802015183