守护进程?守护线程与非守护线程的区别?不要告诉别人
学最好的别人,做最好的自己点击关注后端面试那些事,Java面经都在这里
来源:https://blog.csdn.net/yang2812098/article/details/87651721目录什么是守护线程,什么是
学最好的别人,做最好的自己点击关注后端面试那些事,Java面经都在这里
来源:https://blog.csdn.net/yang2812098/article/details/87651721目录什么是守护线程,什么是非守护线程?java有两种状态的线程守护线程与非守护线程的区别
守护线程与非守护线程代码演示区别创建守护线程守护线程:主线程销毁停止,守护线程一起销毁非守护线程:如果主线程销毁,用户线程继续运行且互不影响什么是守护线程,什么是非守护线程?java有两种状态的线程守护线程(例如垃圾回收线程:gc线程)
非守护线程(用户线程:用户线程即我们手动创建的线程)守护线程与非守护线程的区别1.守护线程有一个特征,例如当主线程运行的时候,垃圾回收线程一起运行当主线程销毁,会和主线程一起销毁2.非守护线程如果主线程销毁,用户线程继续运行且互不影响。
守护线程与非守护线程代码演示区别创建守护线程publicstaticvoidmain(String[] args)throws InterruptedException { Thread t1 = new
Thread(new Runnable() {publicvoidrun(){while (true) {try { Thread.sleep(1000); } catch (Exception e) {
// TODO: handle exception } System.out.println("我是子线程(用户线程)"); } } });// 标识当前方法为守护线程,一定要在启动线程前设置为守护线程
t1.setDaemon(true); t1.start();必须在t1.start()之前设置,你不能把正在运行的常规线程设置为守护线程,否则报IllegalThreadStateException
异常推荐:包含一些大佬的学习资料,且配套了相关的实践案例的最强Java并发编程笔记详解,关注公众号SpringForAll社区,回复:Java,即可免费领取!守护线程:主线程销毁停止,守护线程一起销毁public
staticvoidmain(String[] args){ Thread t1 = new Thread(new Runnable() {publicvoidrun(){while (true) {
try { Thread.sleep(1000); } catch (Exception e) {// TODO: handle exception } System.out.println(
"我是子线程(用户线程)"); } } });// 标识当前方法为守护线程,一定要在启动线程前设置为守护线程 t1.setDaemon(true);//启动线程 t1.start();//相当与主线程
for (int i = 0; i < 10; i++) {try { Thread.sleep(300); } catch (Exception e) { e.printStackTrace();
} System.out.println("main:i:" + i); } System.out.println("主线程执行完毕..."); }以下为运行结果:main:i:0main:i:
1main:i:2我是子线程(用户线程)main:i:3main:i:4main:i:5我是子线程(用户线程)main:i:6main:i:7main:i:8我是子线程(用户线程)main:i:9主线程执行完毕...
主线程结束之后并没有在继续运行守护线程,守护线程也跟着结束,一起销毁停止非守护线程:如果主线程销毁,用户线程继续运行且互不影响publicstaticvoidmain(String[] args){ Thread t1 =
new Thread(new Runnable() {publicvoidrun(){while (true) {try { Thread.sleep(1000); } catch (Exception e) {
// TODO: handle exception } System.out.println("我是子线程(用户线程)"); } } });//启动线程 t1.start();
//相当与主线程for (int i = 0; i < 10; i++) {try { Thread.sleep(300); } catch (Exception e) { e.printStackTrace();
} System.out.println("main:i:" + i); } System.out.println("主线程执行完毕..."); }以下为运行结果:main:i:0main:i:
1main:i:2我是子线程(用户线程)main:i:3main:i:4main:i:5我是子线程(用户线程)main:i:6main:i:7main:i:8我是子线程(用户线程)main:i:9主线程执行完毕...
我是子线程(用户线程)我是子线程(用户线程)我是子线程(用户线程)我是子线程(用户线程)我是子线程(用户线程)我是子线程(用户线程)当主线程销毁停止,非守护线程(用户线程)并没有结束,而是一直在执行,与主线程互不影响。
往期精彩Java 陷阱:慎用入参做返回值!!!为什么大厂们一边在疯狂裁员,一边又在大量招人?英文文档读起来累?试试这个神器!Java8 判空新写法!重要提示:关注我回复【简历】,限时免费领取优质word版Java简历模板!
点击“阅读原文”,领取 2022 年最新免费学习资料↓↓↓
- 标签:
- 编辑:李松一
- 相关文章
-
3dmax沙发?3dmax沙发材质?万万没想到
沙发布艺衰减材质的做法先打开一个我们提前准备好的场景快捷键M打开材质编辑器,给材质球一个vray的标准材质漫反射给一个衰减前侧…
-
信用卡理财?信用卡理财从入门到精通小说?这都可以
儿童财商启蒙越来越被重视,甚至已经成为多地小学教育的必修课。
- apple id更改密码?apple id更改密码账户详情不可用?深度揭秘
- 教师节小品剧本?适合教师节表演的小品剧本?太疯狂了
- 教师节小品剧本?适合教师节表演的小品剧本?万万没想到
- 暗黑破坏神2战网?暗黑破坏神2战网排行?满满干货
- 重庆高校课程在线开放平台?重庆高校课程在线开放平台怎么加入班课?这都可以