stop()和detroy()方法已被jdk启用,不推荐使用
终止方法:通常的做法是提供一个boolean型的终止变量,当这个变量置为false,则终止线程的运行。
【示例11-3】终止线程的典型方法(重要)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | 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!" ); } } |