Daemon Thread

yzb123 2009-09-16 11:58:08
Daemon Thread 怎么理解?Daemon Thread 名为 后台线程。
如下代码,我的想法是当主线程(main)结束掉后,应该并不影响后台线程(生成文件)
但是 结果是:当main结束掉后, 其他的Daemon 线程并没有生成文件,也就是说 并没有运行。
希望大家 指点指点!

public class DaemonThreadTest extends Thread{
private int no;
public DaemonThreadTest(int no) {
this.no = no;
}
@Override
public void run() {
try {
Thread.sleep(2000);
File f = new File("H:\\decisci\\temp\\f"+no+".txt");
if(! f.exists()){
f.createNewFile();
}
System.out.println("thread ended");
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
for(int i=0; i<5; i++){
Thread thread = new DaemonThreadTest(i);
thread.setDaemon(true);
thread.start();
System.out.println("thread "+i+" start");
}
}

}
...全文
225 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
cz61919345 2009-09-16
  • 打赏
  • 举报
回复
当主线程结束后,后台线程也会自动结束的!
huguang 2009-09-16
  • 打赏
  • 举报
回复
反了。
不想结束就不应该用Daemon Thread
lovecj6185 2009-09-16
  • 打赏
  • 举报
回复
当只剩下后台线程的时候,后台线程也会退出

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧