Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2797042
  • 博文数量: 471
  • 博客积分: 7081
  • 博客等级: 少将
  • 技术积分: 5369
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-04 21:55
文章分类

全部博文(471)

文章存档

2014年(90)

2013年(69)

2012年(312)

分类: Java

2012-07-26 09:53:06

我们以Linux守护进程为例,看看守护进程是如何工作的。

看看定义:守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。也就是说守护线程不依赖于终端,但是依赖于系统,与系统“同生共死”。

那Java的守护线程是什么样子的呢。

当JVM中所有的线程都是守护线程的时候,JVM就可以退出了;

如果还有一个或以上的非守护线程则不会退出。    
    
所以setDeamon(true)的唯一意义就是告诉JVM不需要等待这个线程运行结束(退出),当JVM想退出的时候就可以退出吧,不用管它。    


点击(此处)折叠或打开

  1. package test;

  2. public class DeamonThread extends Thread
  3. {
  4.     public void run()
  5.     {
  6.         try
  7.         {
  8.             for(int i=0;i<10;i++)
  9.             {
  10.                 Thread.sleep(100);
  11.                 System.out.println(i);
  12.             }
  13.         }
  14.         catch(Exception e)
  15.         {
  16.             e.printStackTrace();
  17.         }
  18.     }
  19.     
  20.     public static void main(String[] args)
  21.     {
  22.         Thread thread=new DeamonThread();
  23.         thread.setDaemon(true);
  24.         thread.start();
  25.     }
  26. }

阅读(732) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~