主线程创建子线程,如果子线程不结束,主线程会结束吗?

主线程创建子线程,如果子线程不结束,主线程会结束吗?

如果执行到了main end 这里,main方法就结束了,如果此时还有继续打印我是子线程,说明子线程还在继续跑

主线程创建子线程,如果子线程不结束,主线程会结束吗?

主线程创建子线程,如果子线程不结束,主线程会结束吗?
答案是: 子线程不结束,主线程该结束的时候还是会结束,除非主线程是守护线程。

可以通过VM工具来观察

主线程创建子线程,如果子线程不结束,主线程会结束吗?

主线程创建子线程,如果子线程不结束,主线程会结束吗?

还可以看到已完成线程main
主线程创建子线程,如果子线程不结束,主线程会结束吗?

a线程创建b线程, 如果a线程不是守护线程,那么实际上a 和b两个线程没有必然联系。

注意!!main线程并不是守护线程, 是由虚拟机创建的,也不能设置成守护线程!!