您好,匿名用户
随意问技术百科期待您的加入

java主线程关闭,其它子线程还能不能运行?

+2 投票

java中如果主线程关闭(main),那么创建的其它子线程还能运行不?我的例子:

public class t { 
public static void main(String[] args) { 

System.out.println("kaishi"); 
asd th = new asd(); 
th.start(); 
System.out.println(System.currentTimeMillis()); 
System.out.println("tuichu"); 
System.out.println(Thread.currentThread().getName()+System.currentTimeMillis()); 
System.exit(0); 
} 

} 

class asd extends Thread { 

public void run() { 
while (true) { 
System.out.println(Thread.currentThread().getName()+System.currentTimeMillis()); 
} 
} 
} 
结果是kaishi 
1214278000531 
tuichu 
main1214278000531 
Thread-01214278000531 
Thread-01214278000531 
Thread-01214278000531 
Thread-01214278000531 
Thread-01214278000531 
Thread-01214278000531 
Thread-01214278000531 
Thread-01214278000531 
Thread-01214278000531 
Thread-01214278000531 
Thread-01214278000531 
Thread-01214278000531 
Thread-01214278000531 
Thread-01214278000531 
Thread-01214278000531 
Thread-01214278000531 
Thread-01214278000531 
Thread-01214278000531 
Thread-01214278000531 
Thread-01214278000531 
Thread-01214278000531

这个能说明主线程关闭后子线程也关闭吗?

用户头像 提问 2013年 2月4日 @ Maokai 上等兵 (292 威望)
分享到:

1个回答

+1 投票
 
最佳答案

Thread有守护线程和非守护线程之分。 
守护线程在主线程运行结束后,也会结束运行,而非守护线程不会结束。 
线程默认都是非守护线程。可以使用thread.setDeamon方法来设置。 

system.exit(0); 代表退出进程,无论什么线程都退出。 

下述代码,即使不加System.exit(0),在主线程结束后,其守护线程也会随之中止。 

public class t { 
public static void main(String[] args) { 

System.out.println("kaishi"); 
asd th = new asd(); 
th.setDaemon(true);
th.start(); 
System.out.println(System.currentTimeMillis()); 
System.out.println("tuichu"); 
System.out.println(Thread.currentThread().getName()+System.currentTimeMillis()); 
//System.exit(0); 
} 

} 

class asd extends Thread { 

public void run() { 
while (true) { 
System.out.println(Thread.currentThread().getName()+System.currentTimeMillis()); 
} 
} 
} 
用户头像 回复 2013年 2月4日 @ Sion 上等兵 (319 威望)
选中 2013年 2月4日 @Saber
提一个问题:

相关问题

0 投票
1 回复 27 阅读
+2 投票
1 回复 84 阅读
用户头像 提问 2013年 7月15日 @ Xin Zhao 上等兵 (320 威望)
0 投票
1 回复 60 阅读
0 投票
1 回复 41 阅读
0 投票
1 回复 47 阅读
用户头像 提问 2012年 12月1日 @ Nero 上等兵 (377 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...