JS 与 trick 代码的运用及解析全攻略
690
2022-11-05
终止线程的优选并不是stop()与destroy()
如果我们想在一个线程中终止另一个线程我们一般不使用 JDK 提供的 stop()/destroy() 方法(它们本身也被 JDK 废弃了)。通常的做法是提供一个 boolean 型的终止变量,当这个 变量值为 false 时,则终止线程的运行
package com.yqq.app12;import java.io.IOException;/** * @Author yqq * @Date 2021/11/24 01:23 * @Version 1.0 */public class StopThread implements Runnable{ private boolean flag = true; @Override public void run() { System.out.println(Thread.currentThread().getName()+"线程开始"); int i = 0; while (flag){ System.out.println(Thread.currentThread().getName()+" "+i++); try { Thread.sleep(3000); } catch (InterruptedException e) { e.printStackTrace(); } } System.out.println(Thread.currentThread().getName()+"线程结束"); } public void stop(){ this.flag = false; } public static void main(String[] args) throws IOException { System.out.println("主线程开始"); StopThread st = new StopThread(); Thread t1 = new Thread(st); t1.start(); System.in.read(); st.stop(); System.out.println("主线程结束"); }}
主线程开始Thread-0线程开始Thread-0 0Thread-0 1Thread-0 2Thread-0 3Thread-0 4Thread-0 5o主线程结束Thread-0线程结束
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~