博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
守护线程,用户线程
阅读量:3941 次
发布时间:2019-05-24

本文共 2510 字,大约阅读时间需要 8 分钟。

  1. 线程分为用户线程和守护线程
  2. 用户线程即main函数,虚拟机必须确保用户线程执行完毕,即main函数执行完毕
  3. 虚拟机不用等待守护线程完毕,如gc垃圾回收等待机制,后台记录日志,监控内存,

代码演示如下:

线程默认是false表示是用户线程,正常的线程都是用户线程。

thread线程通过调用setDaemon来将此线程变为守护线程。
虚拟机不用等待守护线程使用完毕,就可运行用户线程,最后结果是两个交替输出。

package duoxiancheng;//测试守护线程//上帝守护你,创建2个线程public class TestDaemon {
public static void main(String[] args) {
God god=new God(); You you=new You(); Thread thread=new Thread(god); thread.setDaemon(true);//线程默认是false表示是用户线程,正常的线程都是用户线程, // 此处thread线程通过调用setDaemon来将此线程变为守护线程 thread.start();//上帝守护线程启动,而虚拟机不用等待守护线程使用完毕 new Thread(you).start();//你,用户进程启动 }}//上帝class God implements Runnable{
@Override public void run() {
while(true){
System.out.println("上帝保佑着你"); } }}//你class You implements Runnable{
@Override public void run() {
for (int i = 0; i < 36500; i++) {
System.out.println("一生都要开心的活着"); } System.out.println("再见世界!"); }}

运行结果如下:

一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你
期间两者交替执行
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
一生都要开心的活着
再见世界!
上帝保佑着你
上帝保佑着你
上帝保佑着你
上帝保佑着你

Process finished with exit code 0

转载地址:http://fznwi.baihongyu.com/

你可能感兴趣的文章
Linux域名IP映射
查看>>
Java的反射机制
查看>>
SpringCloud微服务应用入门
查看>>
SpringCloud之session共享
查看>>
Springboot集成Shiro实现认证
查看>>
Spring、Spring MVC和MyBatis编程式集成示例
查看>>
在Springboot应用使用redis缓存
查看>>
Spring入门
查看>>
Idea提示键和热部署配置以及git使用
查看>>
Deepin+Vscode搭建vue.js项目及Git操作
查看>>
基于Spring Security前后端分离式项目解决方案
查看>>
Vue3.0+Vite2.0项目框架搭建(一)
查看>>
Vue3.0+Vite2.0项目框架搭建(二)- 引入axios
查看>>
Vue3.0+Vite2.0项目框架搭建(三)- 引入Element3
查看>>
使用Vue CLI v4.5(+)搭建Vue3.0项目框架搭建
查看>>
Java集合框架
查看>>
线程协作与生产者消费者问题
查看>>
Vue入门
查看>>
非starter方式实现springboot与shiro集成
查看>>
Starter方式实现Springboot与Shiro集成
查看>>