java基础---->多线程之Daemon(五)
在java线程中有两种线程,一种是用户线程,另一种是守护线程。守护线程是一种特殊的线程,当进程中不存在非守护线程了,则守护线程自动销毁。今天我们通过实例来学习一下java中关于守护线程的知识。我是个平常的人,我不能盼望在人海中值得你一转眼的注意。
java中守护线程的例子
一、java中守护线程的简单使用
package com.linux.thread;
import java.util.concurrent.TimeUnit;
public class MyThread extends Thread {
    private int i = 0;
    @Override
    public void run() {
        try {
            while (true) {
                i++;
                System.out.println("i = " + i);
                TimeUnit.SECONDS.sleep(1);
            }
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}
测试的主体类的内容如下:
package com.linux.thread;
import java.util.concurrent.TimeUnit;
public class MyThreadRun {
    public static void main(String[] args) {
        try {
            MyThread thread = new MyThread();
            thread.setDaemon(true);
            thread.start();
            TimeUnit.SECONDS.sleep(5);
            System.out.println("Liberty consists in doing what one desires."); // 当主线程执行这完毕,守护线程就停止执行。
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}
一次的运行结果如下:
i =
i =
i =
i =
i =
Liberty consists in doing what one desires.
当主线程执行完毕被销毁之后(所有的非守护线程执行完成之后),所有的守护线程被自动销毁。
友情链接
java基础---->多线程之Daemon(五)的更多相关文章
- java基础---->多线程之Runnable(一)
		
java线程的创建有两种方式,这里我们通过简单的实例来学习一下.一切都明明白白,但我们仍匆匆错过,因为你相信命运,因为我怀疑生活. java中多线程的创建 一.通过继承Thread类来创建多线程 pu ...
 - java基础---->多线程之synchronized(六)
		
这里学习一下java多线程中的关于synchronized的用法.我来不及认真地年轻,待明白过来时,只能选择认真地老去. synchronized的简单实例 一. synchronized在方法上的使 ...
 - java基础---->多线程之wait和notify(八)
		
这里学习一下java多线程中的关于wait方法和notify方法的用法.命运不是风,来回吹,命运是大地,走到哪你都在命运中. wait和notify方法的使用 一.wait与notify的简单实例 i ...
 - java基础---->多线程之ThreadLocal(七)
		
这里学习一下java多线程中的关于ThreadLocal的用法.人时已尽,人世还长,我在中间,应该休息. ThreadLocal的简单实例 一.ThreadLocal的简单使用 package com ...
 - java基础---->多线程之interrupt(九)
		
这里我们通过实例来学习一下java多线程中关于interrupt方法的一些知识.执者失之.我想当一个诗人的时候,我就失去了诗,我想当一个人的时候,我就失去了我自己.在你什么也不想要的时候,一切如期而来 ...
 - java基础---->多线程之yield(三)
		
yield方法的作用是放弃当前的CPU资源,将它让给其它的任务去占用CPU执行时间.但放弃的时间不确定,有可能刚刚放弃,马上又获得CPU时间片.今天我们通过实例来学习一下yield()方法的使用.最是 ...
 - java基础---->多线程之priority(四)
		
线程的priority能告诉调度程序其重要性如何,今天我们通过实例来学习一下java多线程中的关于优先级的知识.我从没被谁知道,所以也没被谁忘记.在别人的回忆中生活,并不是我的目的. java多线程的 ...
 - Java基础 String 裸暴力算法- 五个小练习
		
之间的博客,承上启下: Java基础 String/StringBuff 常用操作方法复习/内存分析 Java数组直接选择排序.sort()排序 Java基础 String 算法 - 五个练 ...
 - Java基础一篇过(五)Map这篇就够了
		
文章更新时间:2020/03/03 一.Map介绍 Map是Java的一个接口,没有继承,以Key--Value的形式来储存元素信息,常用到的有3个子类实现: HashMap 底层数据结构是散列桶(数 ...
 
随机推荐
- mysql 2013错误解决
			
今天,莫名其妙的来了个mysql 2013错误,导致无法登陆mysql gui工具,而且dos也进不去,提示ping 127.0.0.1,百度+google后: 这是在使用 mysql 的过程中,困扰 ...
 - am335x  PDK3.0 设置为单网口配置记录
			
原来的配置是双网口的,现在要配置为单网口. 一直以为这个配置是在 make menuconfig 里面, 没想到是在设备树里面. 修改设备树 // vim arch/arm/boot/dts/am33 ...
 - IP数据包格式
			
IP数据包格式 0 4 8 16 31 |4位版本 | 4位首部长度 | 8位服务类型 | 16位总长度(字节数)| |16位标识 | 3位标志 | 13位片偏移 | |8位生存时间| 8位协议 | ...
 - [转]ListView学习笔记(一)——缓存机制
			
要想优化ListView首先要了解它的工作原理,列表的显示需要三个元素:ListView.Adapter.显示的数据: 这里的Adapter就是用到了适配器模式,不管传入的是什么View在ListVi ...
 - 奇妙的go语言(面向对象)
			
[ 声明:版权全部.欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 有过C++语言学习经历的朋友都知道.面向对象主要包含了三个基本特征:封装.继承和多态.封装,就 ...
 - eclipse新建python项Project interpreter not specified
			
安装好pydev后新建python项目时提示”Project interpreter not specified“的错误,这是因为没有导入python开发环境所致 解决方法如下:1.找到eclipse ...
 - in 型子查询引出的陷阱
			
题: 在ecshop商城表中,查询6号栏目的商品, (注,6号是一个大栏目) 最直观的: mysql> select goods_id,cat_id,goods_name from goods ...
 - div   画园
			
.destination1{ border: #666 solid 1px; box-shadow:-1px 1px 5px 0px #333; width:922px; height:485px; ...
 - 关于Cocos2d-x的粒子系统
			
1.cocos2d-x有一些自带的粒子效果,以后可以用到.当然,也可以自己定义一些粒子,不过要定义的话,虽然可以用cpp文件自己写,但是没有可视化的调节,还要设定各种奇怪的参数,是非常困难的.可以用一 ...
 - Hibernate中createCriteria即QBC查询的详细用法
			
现在假设有一个Student类,内有id,name,age属性String hql = "from Student s";按照以前的做法,我们通常是Query query = se ...