我应该线程为了不从退出停止虚拟机呢?

最近,我在5.5节,部分5.5.2.6读的“Java网络编程”,它具有以下代码:

public TimeSlicer(long milliseconds, int priority) { this.timeslice = milliseconds; this.setPriority(priority); // If this is the last thread left, it should not // stop the VM from exiting this.setDaemon(true); }

只是不太明白的意见,什么是与虚拟机退出守护线程的关系是什么?谢谢你在前进。

--------------解决方案-------------

当没有 -daemon留下的线程上运行的Java虚拟机退出。 通过标记一个线程使用作为守护线程setDaemon(true) ,你说的是虚拟机,这是好的,即使该线程仍然保持运行状态退出。

java.lang.Thread文档:

将该线程标记为守护线程或用户线程。 当正在运行的线程都是守护线程Java虚拟机退出。

如果所有你main()的作用是创建具有一个无限循环线程(例如,而(真){{尝试睡眠(1000);}赶上(例外五){}`然后

  • 如果线程不是守护那么你的程序将运行到永远
  • 如果该线程守护程序将退出,杀死守护线程

具体来说,设置一个线程作为守护进程不使这一进程守护进程,在后台运行的那种。 为此,请参考这个答案我写了一些时间回

分类:java的 时间:2015-03-15 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.653 (s). 10 q(s)