首页 > 解决方案 > 终止程序并关闭所有资源

问题描述

我有一个程序,它在内部启动多个线程并管理服务器和客户端套接字。

是否有必要在程序终止之前显式关闭所有套接字(在关闭挂钩中)并中断所有子进程?

标签: multithreadingsockets

解决方案


当您调用时System.exit(),或者可能使用其他执行 a 的工具时,kill the-jvm-pid这将立即结束所有活动。套接字将被关闭等等。因此,从技术上讲,您应该自动“关闭所有事物”。

但是:问问自己这是否真的是你想要的。

在大多数现实世界的应用程序中,有序关闭与有序启动一样重要。您不只是走进您的计算中心并从电源插座上拔下电源插头。

含义:不仅仅是“杀死”您的应用程序,还应考虑该服务是否具有您可以调用的“关闭”功能,以便以有意义的方式结束正在进行的活动。这不是所有类型的应用程序都需要的,但它确实取决于上下文。


推荐阅读