问题:什么是守护线程,使用场景是什么,如何创建守护线程

2019-01-22  本文已影响17人  Dream_Lin

问题

什么是守护线程?使用场景是什么?如何创建守护线程?

答案

守护线程

守护线程通常执行一些任务,当所有非守护线程终止的时候,JVM简单的丢弃掉所有现存的守护线程.一旦其它非守护线程执行完,不一定所有的守护线程都会执行完才退出,它们可能在非守护线程执行完后的某个时刻退出.

使用场景

来为其它线程提供服务支持.

守护线程的创建

为了创建一个守护线程,需要在调用thread.start()方法之前调用thread.setDeamon()方法.

代码如下:

Thread daemon = new Thread(()
  -> System.out.println("Hello from daemon!"));
daemon.setDaemon(true);
daemon.start();

在上面这段代码中,上面的这段消息可能不会被打印出来,发生的场景是这样的:当main(()方法执行完之后,守护线程才得到了执行的机会,这个时候非守护线程退出了,那么守护线程即使得到了执行的机会,也有可能被终止.所以通常不要在守护线程中做一些重要的操作,因为它们不一定能全部执行完.

上一篇 下一篇

猜你喜欢

热点阅读