简答题

什么是守护线程?它和非守护线程有什么不同?

正确答案

所谓“守护线程(daemonthread)”是指,只要程序还在运行,它就应该在后台提供某种公共服务的线程,但是守护线程不属于程序的核心部分。因此,当所有非守护线程都运行结束的时候,程序也结束了。相反,只要还有非守护线程在运行,程序就不能结束。
事实上,“守护线程”和“非守护线程”本质上并没有什么区别,只是JVM对其控制的方式有所不同而已。主要表现在:第一,守护线程一般是在后台提供某种服务,而非程序核心部分的线程,所以它的优先级最低。这意味着JVM会尽量先调度那些非守护线程运行。第二,程序中所有非守护线程都已结束运行时,程序就结束。

答案解析

相似试题
  • 守护线程一般被用于在后台为其它线程提供服务。调用方法()来判断一个线程是否是守护线程,也可以调用方法()将一个线程设为守护线程。

    填空题查看答案

  • 什么是线程?与进程有何不同?

    简答题查看答案

  • 进程和线程之间有什么不同

    简答题查看答案

  • xinetd与一般的守护程序有什么不同?

    简答题查看答案

  • 什么是线程?使用多线程有哪些好处?有会带来哪些问题?

    简答题查看答案

  • 什么是线程?它与进程有什么关系?

    简答题查看答案

  • 什么是内核级线程和用户级线程?对它们进行比较。

    简答题查看答案

  • 什么是多线程?硬件支持多线程意味着什么?Intel公司在哪种处理器中首先开始采用该技术?

    简答题查看答案

  • 什么是临界区?线程进入临界区的调度原则是什么?

    简答题查看答案