Java的Daemon线程
来源:互联网 发布:网络用语mjd什么意思 编辑:程序博客网 时间:2024/05/22 01:26
Daemon名字:守护线程,是运行于后台的线程。
jvm中如果只有daemon线程的之后,将会停止线程并退出jvm。
1、使用setDaemon将线程设置为守护线程。
2、需要在start方法调用之前使用。
3、主线程结束后,用户线程将会继续运行,如果没有用户线程,都是后台进程的话,那么jvm结束【daemon线程也结束】。
4、如果是一个Daemon线程,那么它创建的任何线程也会自动具备Daemon属性。
- import java.io.IOException;
- public class DaemonThreadTest extends Thread {
- public DaemonThreadTest() {
- }
- public void run() {
- for (int i = 1; i <= 100; i++) {
- try {
- Thread.sleep(100);
- } catch (InterruptedException ex) {
- ex.printStackTrace();
- }
- System.out.println(i);
- }
- }
- public static void main(String[] args) {
- DaemonThreadTest test = new DaemonThreadTest();
- // 如果不设置daemon,那么线程将输出100后才结束
- // 在test未结束前,执行下面的输入操作,则test终止执行,因为jvm中只剩下守护线程时会终止
- test.setDaemon(true);
- test.start();
- System.out.println("isDaemon = " + test.isDaemon());
- try {
- System.in.read(); // 接受输入,使程序在此停顿,一旦接收到用户输入,main线程结束,守护线程自动结束
- } catch (IOException ex) {
- ex.printStackTrace();
- }
- System.out.print(Thread.currentThread().getName() + "结束");
- }
- }
上面代码中,一旦用户输入内容敲击回车之后,daemon线程也会立即停止。
在java中,很多地方需要用到守护线程。比如说gc中,回收垃圾的线程就是守护线程。
0 0
- Java的Daemon线程
- Java的Daemon线程
- Java 的Daemon线程理解
- 关于Java的Daemon线程的理解
- Java的Daemon线程的测试
- Java Daemon线程
- Java Daemon线程
- Java Daemon线程
- Java Daemon线程
- Java Daemon线程
- Java后台线程Daemon
- Java Daemon线程
- JAVA Daemon线程
- Java线程Daemon线程分析
- 特殊的Daemon线程
- java 守护线程(Daemon)
- java 守护线程(Daemon)
- Java 守护线程(Daemon)
- 简易内存池与new定位分配
- 模块的耦合和内聚
- java 判断字符串中是否有中文
- 1002. Valuable Jewellery
- Eclipse基础--使用links方式安装Eclipse插件
- Java的Daemon线程
- 对HelloWorld类不能找到create()函数的声明的推测
- 如何判断主力在不在?
- 求平方和
- MonoDevelop 断点调试 Unity3D 的2种方法 及附加进程失败问题的解决方法
- umask的作用
- iOS: Directory not empty
- 插件程序开发
- Cocos2d-x-2.2.2的使用新方法