java主线程关掉其他线程会关掉吗
答案:3 悬赏:70 手机版
解决时间 2021-01-23 00:55
- 提问者网友:雨不眠的下
- 2021-01-22 04:55
java主线程关掉其他线程会关掉吗
最佳答案
- 五星知识达人网友:掌灯师
- 2021-01-22 05:39
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());
}
}
守护线程在主线程运行结束后,也会结束运行,而非守护线程不会结束。
线程默认都是非守护线程。可以使用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());
}
}
全部回答
- 1楼网友:舍身薄凉客
- 2021-01-22 07:12
如果你主线程里面没有写关闭其他线程的代码的话,不会
- 2楼网友:山有枢
- 2021-01-22 05:58
不会除非主线程强制终止子线程。否则子线程会一直运行,直到自己运行结束。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯