Java线程(学习整理)--1--守护线程
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--守护线程的更多相关文章
- JAVA并发实现四(守护线程和线程阻塞)
守护线程 Java中有两类线程:User Thread(用户线程).Daemon Thread(守护线程) 用户线程即运行在前台的线程,而守护线程是运行在后台的线程. 守护线程作用是为其他前台 ...
- 【Java并发编程】:守护线程与线程阻塞的四种情况
守护线程 JAVA中有两类线程:User Thread(用户线程).Daemon Thread(守护线程) 用户线程即运行在前台的线程,而守护线程是运行在后台的线程. 守护线程作用是为其他前台线程的运 ...
- Java多线程系列 基础篇03 线程的优先级和守护线程
1. 线程优先级 现代操作系统中基本上使用时间分片的方式调度线程,通过设置线程优先级,使优先级高的线程获得时间片的次数多于优先级低的线程. 在java 线程中,通过一个整形变量prority来控制优先 ...
- 用户线程 (User Thread)、守护线程 (Daemon Thread)
在Java中有两类线程:用户线程 (User Thread).守护线程 (Daemon Thread). 所谓守护 线程,是指在程序运行的时候在后台提供一种通用服务的线程,比如垃圾回收线程就是一个很称 ...
- JoinableQueue队列,线程,线程于进程的关系,使用线程,线程的特点,守护线程,线程的互斥锁,死锁问题,递归锁,信号量
1.JoinableQueue队列 JoinableQueue([maxsize]):这就像是一个Queue对象,但是队列允许项目的使用者通知生成者项目已经被成功处理.通知进程是使用共享的信号和条件变 ...
- day33 线程的创建 验证线程之间共享数据 守护线程 线程进程效率对比 锁 死锁 递归锁
今日内容: 1.线程理论 2.锁: 牺牲了效率,保证了数据的安全(重点) 3.守护线程 4.GIL锁:(重点) 5.计算密集型和IO密集型 6.信号量,事件(了解) 7.补充. 子进程中不能input ...
- Java并发学习之中的一个——线程的创建
本文是学习网络上的文章时的总结,感谢大家无私的分享. 1.与每一个Java语言中的元素一样,线程是对象.在Java中,我们有两种方式创建线程: a.通过直接继承thread类,然后覆盖run方法. b ...
- Android(java)学习笔记65:线程的生命周期
1. 我们学习线程本质就是学习如何开始线程和终止线程.下面这个关于线程的生命周期图,要牢记: 新建状态:当程序使用new关键字创建了一个线程之后,该线程就处于新建状态.此时和其他Java对象一样,它仅 ...
- Android(java)学习笔记64:线程的控制
1. 线程休眠: Java中线程休眠指让正在运行的线程暂停执行一段时间,进入阻塞状态,通过调用Thread类的静态方法sleep得以实现. 当线程调用sleep进入阻塞状态后,在其休眠的时间内,该线程 ...
- Java多线程学习(八)线程池与Executor 框架
目录 历史优质文章推荐: 目录: 一 使用线程池的好处 二 Executor 框架 2.1 简介 2.2 Executor 框架结构(主要由三大部分组成) 2.3 Executor 框架的使用示意图 ...
随机推荐
- dpkg error
在ubuntu乱搞,突然出现错误 dpkg: error: cannot read info directory: No such file or directory E: Sub-process / ...
- -_-#【JS】隐含全局变量
隐含全局变量与明确定义的全局变量有细微的不同,不同之处在于能否使用delete操作符撤销变量 使用var创建的全局变量(这类变量在函数外部创建)不能删除不使用var创建的隐含全局变量(尽管它是在函数内 ...
- removeTask
SystemUI中,Home键调出小刷子杀最近任务,整个流程从其RecentsPanelView.java开始: public void handleSwipe(View view) { ... // ...
- JQuery中trim函数的具体实现代码
由于Javascript 1.8.1 之前的版本,没有内置 trim 函数,所以 JQuery 对它有自己的实现.不同的JQuery版本,trim函数的实现也不尽相同. 阅读本文需要掌握正则表达式用法 ...
- Mac 系统显示和隐藏文件的方法
1. 代码法: 显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool true 隐藏Mac隐藏文件的命令:defau ...
- C# 操作配置文件
1.配置文件app.config的书写: string mdbPath = ConfigurationManager.AppSettings["mdbPath"].ToString ...
- MySQL 5.7版本安装教程-踩坑总结
下载 MySQL下载地址 选择下载64位(看自己电脑是32位还是64位) 点击下载之后,它会让你登录,没有Oracle账户,跟着它的步骤注册一个就好了. 安装 打开下载好的压缩包解压到你的某一目录下, ...
- 关于用jQuery知识来实现优酷首页轮播图!
▓▓▓▓▓▓ 大致介绍 看到了一个轮播图的思路,就想的自己动手实践一下,总体来说用jQuery实现起来简单多了 如果对代码中使用的方法有疑问,可以参考我的jQuery学习之路(持续更新),里面有讲解: ...
- DevExpress LookUpEdit 下拉框基本操作
<span style="font-size:14px;"> ArrayList list = new ArrayList(); //遍历皮肤,放到列表中 foreac ...
- winform清空DataGridView中的数据 分类: DataGridView 2014-05-19 20:56 180人阅读 评论(0) 收藏
我们一般要把dgv情况,一般用: DataTable dt = (DataTable)dgvData.DataSource; dt.Rows.Clear(); dgvData.DataSource = ...