考虑一个多线程Java程序,其中主线程创建并启动了多个子线程执行耗时任务,在程序运行过程中,如果主线程执行完毕并退出,以下哪种情况描述最准确?

答案解析

选项A错误,子线程的运行独立于主线程,主线程退出并不会导致所有子线程立刻被终止。选项C错误,JVM并非强制等待所有线程结束,而是等待非守护线程结束才会退出。选项D错误,主线程的退出是否导致JVM进程退出,取决于是否存在非守护线程,守护线程会在其他非守护线程都结束时自动结束。选项B正确,Java中,子线程的生命周期独立于主线程。主线程结束不会影响非守护线程的继续运行,直到这些线程执行完成,所有非守护线程都结束时,JVM才会退出。
正确答案:B
随机推荐
开始刷题