Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading 关闭所有资源终止程序_Multithreading_Sockets - Fatal编程技术网

Multithreading 关闭所有资源终止程序

Multithreading 关闭所有资源终止程序,multithreading,sockets,Multithreading,Sockets,我有一个程序,它在内部启动几个线程并管理服务器和客户端套接字 是否有必要在程序终止之前(在shutdown hook中)明确关闭所有套接字并中断所有子进程?当您调用System.exit()时,或者可能使用其他工具来杀死jvm pid,然后将立即结束所有活动。插座将被关闭,所有这些。所以,从技术上讲,你应该自动“关闭所有东西” 但是:问问自己,这是否真的是你想要的 在大多数实际应用中,有序关闭与有序启动同样重要。你不只是走进你的计算中心,从电源插座上拔下电源插头 意义:而不是仅仅“杀死”你的应用

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


是否有必要在程序终止之前(在shutdown hook中)明确关闭所有套接字并中断所有子进程?

当您调用
System.exit()
时,或者可能使用其他工具来杀死jvm pid,然后将立即结束所有活动。插座将被关闭,所有这些。所以,从技术上讲,你应该自动“关闭所有东西”

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

在大多数实际应用中,有序关闭与有序启动同样重要。你不只是走进你的计算中心,从电源插座上拔下电源插头


意义:而不是仅仅“杀死”你的应用程序,考虑是否有意义的是,这个服务有一个你可以调用的“关机”功能,因此正在进行的活动以有意义的方式结束。这并不是所有类型的应用程序都需要的,但它实际上取决于上下文。

关于shutdown hook的使用,我认为需要考虑的是,如果您在关机期间需要坚持某些操作,或者您希望程序在关机期间确保/执行某些其他操作,那么值得考虑;否则,当程序结束时,套接字将被释放