1、什么是守护线程?

    今天老师讲解我才知道有守护线程这回事!原来守护线程经常存在于我们的身边,比如:一个免费的网页游戏,里面都会或多或少有些插入性的广告!!

一般情况下,我们不会去点击这些广告的,但是广告商是需要点击量的啊!所以制作游戏的人会背地里使用守护线程去访问这个广告界面,但是我们用户是不知道

的!就是守护线程一般对用户不可见,对背后的程序员可见!

    再比如:我们使用的QQ软件,我们可以一边聊天,一边更新QQ软件!当我们聊天结束,关闭QQ的时候,你会发现,QQ更新的操作也被终止了!

其实:更新QQ的操作就是一个守护线程操作着的!

    

2、守护线程的特点:

     主线程结束了,那么守护线程也会停止! 

/**********使用方式*****************/
HelpThread ht=new HelpThread(); ht.setDaemon(true);//设置线程为守护线程

  

3、举例说明:

 package cn.sxt.helpthreads;
/**
* 守护线程:
*
* 模拟:
* QQ聊天,一边聊天,一边使用QQ下载更新,当更新还未完成的时候,聊天结束,则下载也结束!
* @author 小风微灵
*
*/
public class HelpThread extends Thread{ public void run() { for(int i=0;i<=100;i++){
System.out.println("守护线程---正在下载,进度:"+i+"%");
if(i==100){
System.err.println("下载完成准备安装......");
}
} }
public static void main(String[] args) { HelpThread ht=new HelpThread(); ht.setDaemon(true);//设置线程为守护线程 System.err.println("下载线程是否是守护线程:"+ht.isDaemon());//true:是守护线程 false:不是守护线程
ht.start();
for(int i=0;i<=100;i++){
System.out.println(Thread.currentThread().getName()+"聊天中...."+i); } } }

运行结果:

 下载线程是否是守护线程:true
main聊天中....0
main聊天中....1
守护线程---正在下载,进度:0%
main聊天中....2
守护线程---正在下载,进度:1%
main聊天中....3
守护线程---正在下载,进度:2%
main聊天中....4
守护线程---正在下载,进度:3%
main聊天中....5
守护线程---正在下载,进度:4%
守护线程---正在下载,进度:5%
main聊天中....6
守护线程---正在下载,进度:6%
main聊天中....7
守护线程---正在下载,进度:7%
main聊天中....8
守护线程---正在下载,进度:8%
main聊天中....9
守护线程---正在下载,进度:9%
main聊天中....10
守护线程---正在下载,进度:10%
main聊天中....11
守护线程---正在下载,进度:11%
main聊天中....12
守护线程---正在下载,进度:12%
main聊天中....13
守护线程---正在下载,进度:13%
main聊天中....14
守护线程---正在下载,进度:14%
main聊天中....15
守护线程---正在下载,进度:15%
main聊天中....16
守护线程---正在下载,进度:16%
main聊天中....17
守护线程---正在下载,进度:17%
main聊天中....18
守护线程---正在下载,进度:18%
main聊天中....19
守护线程---正在下载,进度:19%
main聊天中....20
守护线程---正在下载,进度:20%
main聊天中....21
守护线程---正在下载,进度:21%
main聊天中....22
守护线程---正在下载,进度:22%
main聊天中....23
守护线程---正在下载,进度:23%
main聊天中....24
守护线程---正在下载,进度:24%
main聊天中....25
守护线程---正在下载,进度:25%
main聊天中....26
守护线程---正在下载,进度:26%
main聊天中....27
守护线程---正在下载,进度:27%
main聊天中....28
守护线程---正在下载,进度:28%
main聊天中....29
守护线程---正在下载,进度:29%
main聊天中....30
守护线程---正在下载,进度:30%
main聊天中....31
守护线程---正在下载,进度:31%
main聊天中....32
守护线程---正在下载,进度:32%
main聊天中....33
守护线程---正在下载,进度:33%
main聊天中....34
守护线程---正在下载,进度:34%
main聊天中....35
守护线程---正在下载,进度:35%
main聊天中....36
守护线程---正在下载,进度:36%
main聊天中....37
守护线程---正在下载,进度:37%
main聊天中....38
守护线程---正在下载,进度:38%
守护线程---正在下载,进度:39%
守护线程---正在下载,进度:40%
守护线程---正在下载,进度:41%
守护线程---正在下载,进度:42%
守护线程---正在下载,进度:43%
守护线程---正在下载,进度:44%
守护线程---正在下载,进度:45%
守护线程---正在下载,进度:46%
守护线程---正在下载,进度:47%
守护线程---正在下载,进度:48%
守护线程---正在下载,进度:49%
守护线程---正在下载,进度:50%
守护线程---正在下载,进度:51%
守护线程---正在下载,进度:52%
守护线程---正在下载,进度:53%
守护线程---正在下载,进度:54%
守护线程---正在下载,进度:55%
守护线程---正在下载,进度:56%
守护线程---正在下载,进度:57%
守护线程---正在下载,进度:58%
守护线程---正在下载,进度:59%
守护线程---正在下载,进度:60%
守护线程---正在下载,进度:61%
守护线程---正在下载,进度:62%
守护线程---正在下载,进度:63%
守护线程---正在下载,进度:64%
main聊天中....39
main聊天中....40
main聊天中....41
main聊天中....42
main聊天中....43
main聊天中....44
main聊天中....45
main聊天中....46
main聊天中....47
main聊天中....48
main聊天中....49
main聊天中....50
main聊天中....51
main聊天中....52
main聊天中....53
main聊天中....54
main聊天中....55
main聊天中....56
main聊天中....57
main聊天中....58
main聊天中....59
main聊天中....60
main聊天中....61
main聊天中....62
守护线程---正在下载,进度:65%
守护线程---正在下载,进度:66%
守护线程---正在下载,进度:67%
守护线程---正在下载,进度:68%
守护线程---正在下载,进度:69%
守护线程---正在下载,进度:70%
守护线程---正在下载,进度:71%
守护线程---正在下载,进度:72%
守护线程---正在下载,进度:73%
守护线程---正在下载,进度:74%
守护线程---正在下载,进度:75%
守护线程---正在下载,进度:76%
守护线程---正在下载,进度:77%
守护线程---正在下载,进度:78%
守护线程---正在下载,进度:79%
守护线程---正在下载,进度:80%
main聊天中....63
守护线程---正在下载,进度:81%
守护线程---正在下载,进度:82%
守护线程---正在下载,进度:83%
守护线程---正在下载,进度:84%
守护线程---正在下载,进度:85%
守护线程---正在下载,进度:86%
守护线程---正在下载,进度:87%
守护线程---正在下载,进度:88%
守护线程---正在下载,进度:89%
main聊天中....64
守护线程---正在下载,进度:90%
main聊天中....65
守护线程---正在下载,进度:91%
main聊天中....66
守护线程---正在下载,进度:92%
main聊天中....67
守护线程---正在下载,进度:93%
main聊天中....68
守护线程---正在下载,进度:94%
main聊天中....69
守护线程---正在下载,进度:95%
main聊天中....70
守护线程---正在下载,进度:96%
main聊天中....71
守护线程---正在下载,进度:97%
main聊天中....72
守护线程---正在下载,进度:98%
main聊天中....73
守护线程---正在下载,进度:99%
main聊天中....74
守护线程---正在下载,进度:100%
main聊天中....75
下载完成准备安装......
main聊天中....76
main聊天中....77
main聊天中....78
main聊天中....79
main聊天中....80
main聊天中....81
main聊天中....82
main聊天中....83
main聊天中....84
main聊天中....85
main聊天中....86
main聊天中....87
main聊天中....88
main聊天中....89
main聊天中....90
main聊天中....91
main聊天中....92
main聊天中....93
main聊天中....94
main聊天中....95
main聊天中....96
main聊天中....97
main聊天中....98
main聊天中....99
main聊天中....100

Java线程(学习整理)--1--守护线程的更多相关文章

  1. JAVA并发实现四(守护线程和线程阻塞)

    守护线程     Java中有两类线程:User Thread(用户线程).Daemon Thread(守护线程) 用户线程即运行在前台的线程,而守护线程是运行在后台的线程. 守护线程作用是为其他前台 ...

  2. 【Java并发编程】:守护线程与线程阻塞的四种情况

    守护线程 JAVA中有两类线程:User Thread(用户线程).Daemon Thread(守护线程) 用户线程即运行在前台的线程,而守护线程是运行在后台的线程. 守护线程作用是为其他前台线程的运 ...

  3. Java多线程系列 基础篇03 线程的优先级和守护线程

    1. 线程优先级 现代操作系统中基本上使用时间分片的方式调度线程,通过设置线程优先级,使优先级高的线程获得时间片的次数多于优先级低的线程. 在java 线程中,通过一个整形变量prority来控制优先 ...

  4. 用户线程 (User Thread)、守护线程 (Daemon Thread)

    在Java中有两类线程:用户线程 (User Thread).守护线程 (Daemon Thread). 所谓守护 线程,是指在程序运行的时候在后台提供一种通用服务的线程,比如垃圾回收线程就是一个很称 ...

  5. JoinableQueue队列,线程,线程于进程的关系,使用线程,线程的特点,守护线程,线程的互斥锁,死锁问题,递归锁,信号量

    1.JoinableQueue队列 JoinableQueue([maxsize]):这就像是一个Queue对象,但是队列允许项目的使用者通知生成者项目已经被成功处理.通知进程是使用共享的信号和条件变 ...

  6. day33 线程的创建 验证线程之间共享数据 守护线程 线程进程效率对比 锁 死锁 递归锁

    今日内容: 1.线程理论 2.锁: 牺牲了效率,保证了数据的安全(重点) 3.守护线程 4.GIL锁:(重点) 5.计算密集型和IO密集型 6.信号量,事件(了解) 7.补充. 子进程中不能input ...

  7. Java并发学习之中的一个——线程的创建

    本文是学习网络上的文章时的总结,感谢大家无私的分享. 1.与每一个Java语言中的元素一样,线程是对象.在Java中,我们有两种方式创建线程: a.通过直接继承thread类,然后覆盖run方法. b ...

  8. Android(java)学习笔记65:线程的生命周期

    1. 我们学习线程本质就是学习如何开始线程和终止线程.下面这个关于线程的生命周期图,要牢记: 新建状态:当程序使用new关键字创建了一个线程之后,该线程就处于新建状态.此时和其他Java对象一样,它仅 ...

  9. Android(java)学习笔记64:线程的控制

    1. 线程休眠: Java中线程休眠指让正在运行的线程暂停执行一段时间,进入阻塞状态,通过调用Thread类的静态方法sleep得以实现. 当线程调用sleep进入阻塞状态后,在其休眠的时间内,该线程 ...

  10. Java多线程学习(八)线程池与Executor 框架

    目录 历史优质文章推荐: 目录: 一 使用线程池的好处 二 Executor 框架 2.1 简介 2.2 Executor 框架结构(主要由三大部分组成) 2.3 Executor 框架的使用示意图 ...

随机推荐

  1. 移植lrzsz串口文件传输工具到mini2440

    1.下载源码2.解压源码 tar -xzf lrzsz-0.12.20.tar.gz 3.检查配置 ./configure 4.修改Makefile 有三个Makefile需要修改,分别是lrzsz- ...

  2. java基础(五)

    这里有我之前上课总结的一些知识点以及代码大部分是老师讲的笔记 个人认为是非常好的,,也是比较经典的内容,真诚的希望这些对于那些想学习的人有所帮助! 由于代码是分模块的上传非常的不便.也比较多,讲的也是 ...

  3. leetcode 合并区间

    使用最简单的排序方法: /** * Definition for an interval. * public class Interval { * int start; * int end; * In ...

  4. Cogs 1583. [POJ3237]树的维护 LCT,树链剖分

    题目:http://cojs.tk/cogs/problem/problem.php?pid=1583 1583. [POJ3237]树的维护 ★★★☆   输入文件:maintaintree.in  ...

  5. Java编程-基本语句

    一个基本的输出语句: package Hello; import java.util.Scanner; public class Hello { public static void main(Str ...

  6. c++文件流

    前言 文件流能够从文件系统中读取数据并向文件中写入数据. 文件输入流适用于读取配置数据.读取保存的文件以及批处理基于文件的数据等任务.Fprintf,fwrite,fputs 文件输出流适用于保存状态 ...

  7. linux操作系统cron详解

    Linux操作系统定时任务系统 Cron 入门 cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业.由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动 ...

  8. flipsnap--手机屏幕水平滑动框架

    在很多手机应用中,大家都会见过这样一种效果:当手指横向滑动屏幕时,屏幕上的页面会向左或向右滑动. 下面介绍一下当用HTML5+CSS3开发手机应用时解决这类效果的一款js框架:flipsnap. fl ...

  9. BAE、SAE 与 GAE 对比

    从数据库.应用配置.计费.域名绑定.平台服务对比了 BAE.SAE 以及 GAE 的优劣,最后给出云平台选型的建议. 数据库SAE 不支持 InnoDB(可申请支持),BAE 默认支持. BAE 不支 ...

  10. 海思android4.4 SDK编译Latin输入法

    原来的HiSTBAndroidV500R001C01SPC020\device\hisilicon\bigfish\packages\apps\HiLatinIME\Android.mk内容例如以下: ...