java多线程问题,求解答!

public static void main(String[] args) {
    System.out.println(Main: start);
    System.out.println(Main: end);
    new Thread(() -> {
        System.out.println(Thread: start);
    }).start();
}

这段代码的执行结果是只有一种情况,还是有两种情况?
如果有两种情况的话,可是子线程的启动一定发生在Main: end之后吧?,按道理不可能会出现结果2
结果1:
Main: start
Main: end
Thread: start

结果2:
Main: start
Thread: start
Main: end
全部评论
是可以出现在main end的吧,如果只有守护线程在运行的话那会直接关闭守护线程。如果是一个正在运行的子线程,程序会一直等子线程运行完。
点赞 回复 分享
发布于 03-26 16:41 美国

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务