This question already has answers here:
termination of program on main thread exit?

(2 个回答)


5年前关闭。




如果一个线程打开一个套接字并且主程序退出会发生什么?我有时看到线程会在主程序退出后运行一两秒钟,但是当主程序退出时,线程打开的套接字是否会关闭,或者当线程最终自行清理死机时?

最佳答案

当程序(即JVM进程)停止时,所有资源都被释放。如果进行了 System.exit() 调用,则 JVM 将停止。另一方面,如果您的主线程完成执行,JVM 将继续运行,直到没有更多的非守护线程在运行。所以如果处理socket通信的线程是非守护线程,它会继续运行。

关于java - 如果一个线程打开一个套接字并且主程序退出会发生什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23247443/

10-11 22:20
查看更多