java中线程的前台线程和后台线程

时间:2021-08-10 18:41:06

/*
 * 对于java程序来说,只要还有一个前台线程,那么这个进程就还没结束
 * 如果没有一个前台线程或全部是后台线程,那么这个进程就结束了
 *  设置一个线程为一个后台线程setDeamon(true);如果一个setDeamon(false)
   如果为false或者默认情况下(也就是不设置),那么就意味着这个线程是前台线程
 *
 *
 *
 */


class Lesson5TestDemo1
{
 public static void main(String [] agrs)
 {
  //当我们的主线程结束的时候,我们的进程还没有结束,因为我们还有一个前台线程还在执行
  //new Lesson5TestDemo2().start();
  //当我们设置这个线程为后台的进程的时候,那么等我们这个主线程结束,那么我们的这个进程也就结束了,因为没有前台线程了
  Thread tt = new Lesson5TestDemo2();
  tt.setDaemon(true);
  tt.start();
  //System.out.println("Lesson5TestDemo1:" + Thread.currentThread().getName());
 }
}

class Lesson5TestDemo2 extends Thread
{
 public void run()
 {
  while(true)
  {
   System.out.println("Lesson5TestDemo2:" + Thread.currentThread().getName());
  }
 }
}