<分区>
如果一个线程打开一个套接字并且主程序退出会发生什么?我有时看到线程会在主程序退出后运行一两秒,但线程打开的套接字是否会在主程序退出时关闭,或者当线程最终清理自身并死亡时?
<分区>
如果一个线程打开一个套接字并且主程序退出会发生什么?我有时看到线程会在主程序退出后运行一两秒,但线程打开的套接字是否会在主程序退出时关闭,或者当线程最终清理自身并死亡时?
最佳答案
当程序(即 JVM 进程)停止时,所有资源都会被释放。如果进行了 System.exit() 调用,则 JVM 将停止。另一方面,如果您的主线程完成执行,JVM 将继续运行,直到不再有非守护线程在运行。所以如果处理套接字通信的线程是非守护线程,它会继续运行。
关于java - 如果一个线程打开一个套接字并且主程序退出会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23247443/