java - java中的用户线程和守护线程有什么区别?

标签 java thread-safety jvm

Possible Duplicate:
What is Daemon thread in java
When are daemon threads useful?

我对 Java 中用户线程和守护线程之间的区别感到困惑。

你能告诉我吗:

  1. Java 中的用户线程和守护线程有什么区别?
  2. 在什么情况下会使用守护线程?你能举几个例子吗?

最佳答案

一旦最后一个非 jvm 线程终止,JVM 就会退出。这意味着如果您创建的任何线程仍在运行,jvm 将不会关闭。 守护线程是不会阻止 JVM 关闭的线程。通常,您会将它们用于一些后台任务,如果用户要求关闭应用程序,您不希望这些任务保持运行。

此外,您的问题已在此处提出(并已回答) - What is Daemon thread in Java?

守护线程的一些常见(根据个人经验)用例可能包括

  • 轮询远程系统以了解状态变化的后台线程
  • 后台工作线程(例如发送电子邮件通知、snmp 等)
  • 用于执行计划维护的自定义计时器线程

关于java - java中的用户线程和守护线程有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14272850/

相关文章:

java - Servlet 中的线程安全

java - 确保在线程中 wait() 在 notification() 之前调用,这可能吗?

java - "error: cannot find symbol"在 flutter 中为 Android 构建时

Java:基于时间的线程锁定

java - android 让 "final"被捡起来进行 GC

Java线程安全地将集合对象从一个线程传递到另一个线程

jvm - Boo 编程语言是否有非 CLI 实现(尤其是 JVM)?

java - 为什么java中默认不启用assert

java - Java foreach 是否创建副本?

java - 使用二叉堆合并多个数组