守护线程和用户线程
用户线程:主线程的子线程,当主线程结束时,用户线程也会结束。
守护线程:一种特殊的线程,它是在后台运行的,当所有用户线程结束时,守护线程也会随之结束。例如gc线程
public class ThreadDemo { public static void main(String[] args) { Thread userThread = new Thread(new Runnable() { public void run() { try { Thread.sleep(5000); System.out.println("用户线程执行完毕"); } catch (InterruptedException e) { e.printStackTrace(); } } }); userThread.start(); Thread daemonThread = new Thread(new Runnable() { public void run() { while (true) { System.out.println("守护线程正在运行"); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } }); daemonThread.setDaemon(true); daemonThread.start(); System.out.println("主线程执行完毕"); } }
输出结果:
结论:主线程结束,用户线程仍在执行,守护线程也在执行,当用户线程结束,守护线程一同结束。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用