守护(Daemon)线程
来源:互联网 发布:oracle删除重复数据 编辑:程序博客网 时间:2024/06/10 20:39
在Java线程中有两种线程,一种是用户线程,另一种就是守护(Daemon)线程。
什么是守护线程?守护线程是一种特殊的线程,它的特性有陪伴的含义,当进程中不存在非守护线程了,则守护线程自动销毁。守护线程的作用是为其他线程的运行提供便利服务,最典型的应用就是GC(垃圾回收器),它是一个很称职的守护者。
下面通过一个示例演示守护线程随用户线程的结束而销毁。
/*守护线程 * 其它所有的用户线程结束,则守护线程退出。 * 守护线程一般都是无限执行的 */public class Test { public static void main(String[] args) throws InterruptedException { MyRunnable myRunnable = new MyRunnable(); Thread t = new Thread(myRunnable); // 将t这个用户线程修改为守护线程 t.setDaemon(true); // 设置线程的名称 t.setName("守护线程"); // 启动线程 t.start(); Thread.sleep(1000); // 主线程 for (int i = 0; i < 5; i++) { Thread.sleep(1000); System.out.println(Thread.currentThread().getName() + " i=" + i); } System.out.println("主线程结束,守护线程自动销毁!"); }}class MyRunnable implements Runnable { private int i = 0; // 实现接口中的run方法 @Override public void run() { try { while (true) { i++; System.out.println(Thread.currentThread().getName() + " i=" + i); Thread.sleep(1000); } } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}
运行结果如图所示
守护线程随主线程(用户线程)的结束而自动销毁
阅读全文
0 0
- 守护线程Daemon
- 守护线程(Daemon)
- 慎用守护线程Daemon
- 守护(daemon)线程
- 守护线程(Daemon)
- 守护线程(Daemon Thread)
- 守护线程(Daemon Thread)
- 守护线程(Daemon Thread)
- 守护线程Daemon
- 守护(Daemon)线程
- 守护(Daemon)线程
- 守护线程Daemon
- java 守护线程(Daemon)
- java 守护线程(Daemon)
- Java 守护线程(Daemon)
- android 守护线程Daemon解说
- JAVA守护线程 daemon thread
- Java线程之守护线程(Daemon)
- Unity3D
- android mvc
- PHP 正则preg_match 与 preg_match_all 函数以及匹配中文
- springboot+mybatis 多数据源——Mybatis深入浅出(三)
- TensorFlow1.2的一个bug(Couldn't open CUDA library libcupti.so.8.0.)
- 守护(Daemon)线程
- Mybatis插件
- InitCommonControlsex
- 20个非常有用的java程序片段
- Period (next与循环串)
- FFmpeg之视频加水印
- Mybatis中Mapper内置方法细解
- 投影坐标,平面以及坐标转换
- 在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能