任务背景:

一个人要坐汽车,汽车还有5秒就启动了,但是那个人还有10秒才能到达车上,一个主线程去做乘车的任务,一个守护线程做汽车启动的任务。

主线程:

/*** @author 主线程**/
public class MainThread extends Thread{protected long timeOut; //超时时间protected boolean isOverTime = false; //超时状态为否public MainThread(long timeOut){this.timeOut = timeOut; }public synchronized void checkTime(){//修改超时状态,改为超时isOverTime = true;  }public void run(){try{sleep(10 * 1000);//还有10秒才能乘车if(isOverTime) {//判断汽车是否已经启动System.out.println("主线程:超时,汽车已经走了");}else {System.out.println("主线程:乘车");}}catch(InterruptedException e){e.printStackTrace();}}}

守护线程:

/*** @author 守护线程**/
class ProtestThread extends Thread {MainThread MainThread;public ProtestThread(MainThread thread) {this.MainThread = thread;this.setDaemon(true); // 设置成为守护线程}@Overridepublic void run() {try {sleep(MainThread.timeOut * 1000);// 离汽车启动还有timeOut秒MainThread.checkTime(); // 时间到,设置超时状态System.out.println("保护线程:汽车启动,出发");} catch (InterruptedException e) {e.printStackTrace();}}
}

测试:

 public static void main(String[] args) {MainThread thread = new MainThread(5);//设置超时时间为5秒thread.start();//开启主线程ProtestThread protestThread = new ProtestThread(thread);protestThread.start();//开启守护线程}

结果:

保护线程:汽车启动,出发
主线程:超时,汽车已经走了

java--守护线程处理超时任务相关推荐

  1. java守护线程的特性

    java守护线程,顾名思义,守护的是主进程,当主线程结束了,守护线程也就结束了 我们看代码 public class ThreadDemo {public static void main(Strin ...

  2. java守护线程和用户线程

    java守护线程和用户线程 1.Java线程分类 Java分两类线程:1.用户线程 2.守护线程 2.区别 1.JVM在用户线程没有结束前,会一直和守护线程一同运行. 2.如果用户线程全部结束,那么J ...

  3. java守护线程与用户线程_详解Java线程-守护线程与用户线程

    干java 开发这么多年, 之前一直没留意java 进程还区分守护进程和用户进程.守护进程这个概念最早还是在linux系统中接触的,直到近期使用java开发心跳检测功能时,使用Timer时才发现原来j ...

  4. JAVA守护线程 非守护线程

    笔记: 第一篇转载写的比较好,将守护线程同linux的守护进程概念进行了对比. 当非守护线程执行完jvm就退出,不管是否还有守护线程在执行.所以守护线程尽量不要执行逻辑代码,顶多执行一些可有可无的辅助 ...

  5. java守护线程与非守护线程

    java守护线程与非守护线程 代码逻辑 当前网上结论 1.主线程结束,守护线程跟着结束 2.只要存在任何一个非守护线程,守护线程就全部工作 测试代码 第一段代码 第二段代码 结论 代码逻辑 代码里面包 ...

  6. 白话JAVA守护线程

    OneCoder(苦逼Coder)原创,转载请务必注明出处: http://www.coderli.com/archives/daemon-thread-plain-words/ 关于"白话 ...

  7. Java 守护线程概述

    Java的线程分为两种:User Thread(用户线程).DaemonThread(守护线程). 只要当前JVM实例中尚存任何一个非守护线程没有结束,守护线程就全部工作:只有当最后一个非守护线程结束 ...

  8. Java守护线程概述

    欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...

  9. java守护线程和用户线程的区别

    Java中的线程可以分为两类,即用户线程和守护线程.用户线程是为了完成任务,而守护线程主要是为其他线程服务. 守护线程的唯一用途是为其他线程提供服务.守护线程会随时中断,因此不要在守护线程上使用需要释 ...

  10. JAVA - 守护线程(Daemon Thread)

    转载自:http://www.cnblogs.com/luochengor/archive/2011/08/11/2134818.html 在Java中有两类线程:用户线程 (User Thread) ...

最新文章

  1. 怎么申请微信支付接口
  2. 在当前进程下取得当前登陆用户
  3. 转 Oracle 删除表,oracle 中删除表 drop delete truncate 的区别
  4. Android经常使用工具类DateUtils(二)
  5. 为什么我不建议你买保险?
  6. 【qduoj - 夏季学期创新题】骑士游历(递推dp)
  7. 一个家系突变分析一篇 SCI | 文章解析
  8. php页面运用文本编辑器的实例,TP3.2.3框架使用CKeditor编辑器在页面中上传图片的方法分析...
  9. Wireshark-Mac下找不到本地网卡
  10. 深圳465亿建11代生产线,TCL三星带头认购股权
  11. 你知道全中国有多少个火车站吗?
  12. 从未在一起更让人遗憾_我们从未在一起更遗憾
  13. 用迅雷或者IDM下载下载百度网盘文件方法
  14. 用java怎么开发图片标注工具,图片标注工具选型
  15. 【QScrollBar | QSlider | QDial | QProgressBar | QLCDNumber】
  16. 漏洞解决方案-明文传输漏洞
  17. norflash的操作
  18. 第1讲 移动互联网概述
  19. 优雅的99乘法表以及format使用
  20. 60个BCB(C++Build)初学者 应用实例

热门文章

  1. 使用 closest 和 matches 方法来检测元素是否存在某选择器
  2. python精准识别图片文字
  3. Android手机ERP开发(二)
  4. 手撕栈,栈的实现(C语言)
  5. dingo php,dingo/api 使用
  6. nginx中的sub_filter
  7. 撤消 git rebase
  8. 直播预告 | 染色质免疫共沉淀(ChIP-seq)应用实例分析(表观调控和转录调控)
  9. 黄小宁罪大恶极!!!!!!!!!!黄小宁罪大恶极!!!!!!!!!!
  10. android开发 高德地图自定义地图应用【最新】