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. dpkg error

    在ubuntu乱搞,突然出现错误 dpkg: error: cannot read info directory: No such file or directory E: Sub-process / ...

  2. -_-#【JS】隐含全局变量

    隐含全局变量与明确定义的全局变量有细微的不同,不同之处在于能否使用delete操作符撤销变量 使用var创建的全局变量(这类变量在函数外部创建)不能删除不使用var创建的隐含全局变量(尽管它是在函数内 ...

  3. removeTask

    SystemUI中,Home键调出小刷子杀最近任务,整个流程从其RecentsPanelView.java开始: public void handleSwipe(View view) { ... // ...

  4. JQuery中trim函数的具体实现代码

    由于Javascript 1.8.1 之前的版本,没有内置 trim 函数,所以 JQuery 对它有自己的实现.不同的JQuery版本,trim函数的实现也不尽相同. 阅读本文需要掌握正则表达式用法 ...

  5. Mac 系统显示和隐藏文件的方法

    1. 代码法: 显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool true 隐藏Mac隐藏文件的命令:defau ...

  6. C# 操作配置文件

    1.配置文件app.config的书写: string mdbPath = ConfigurationManager.AppSettings["mdbPath"].ToString ...

  7. MySQL 5.7版本安装教程-踩坑总结

    下载 MySQL下载地址 选择下载64位(看自己电脑是32位还是64位) 点击下载之后,它会让你登录,没有Oracle账户,跟着它的步骤注册一个就好了. 安装 打开下载好的压缩包解压到你的某一目录下, ...

  8. 关于用jQuery知识来实现优酷首页轮播图!

    ▓▓▓▓▓▓ 大致介绍 看到了一个轮播图的思路,就想的自己动手实践一下,总体来说用jQuery实现起来简单多了 如果对代码中使用的方法有疑问,可以参考我的jQuery学习之路(持续更新),里面有讲解: ...

  9. DevExpress LookUpEdit 下拉框基本操作

    <span style="font-size:14px;"> ArrayList list = new ArrayList(); //遍历皮肤,放到列表中 foreac ...

  10. winform清空DataGridView中的数据 分类: DataGridView 2014-05-19 20:56 180人阅读 评论(0) 收藏

    我们一般要把dgv情况,一般用: DataTable dt = (DataTable)dgvData.DataSource; dt.Rows.Clear(); dgvData.DataSource = ...