请问守护线程自动退出时,应该要求其关闭(释放)相关资源么? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Newyorkcity
V2EX    问与答

请问守护线程自动退出时,应该要求其关闭(释放)相关资源么?

  •  
  •   Newyorkcity 2020-01-13 07:59:59 +08:00 1795 次点击
    这是一个创建于 2099 天前的主题,其中的信息可能已经有所发展或是发生改变。
    RT。。比如我创建的一个守护线程,其拥有一个输入流,或者拥有一个 socket,或者拥有一个数据库连接,这些有 close 方法的东西。。

    守护线程会在非守护线程都结束后自行结束,那它占有这些资源,不需要我写明代码以关闭或释放么?如果需要,该如何写?不需要的话。。是因为整个程序都结束了,这些资源就自然而然释放了,不会造成问题么?可如果不调用 close 方法,那 socket 的另一方,数据库连接里的数据库,知道这个连接关闭了么?
    2 条回复    2020-01-13 15:07:22 +08:00
    veelog
        1
    veelog  
       2020-01-13 09:09:49 +08:00 via iPhone   1
    进程退出,申请的资源都会被系统回收,socket 连接,在系统回收资源的时候会发 fin 包给对端
    Newyorkcity
        2
    Newyorkcity  
    OP
       2020-01-13 15:07:22 +08:00
    @veelog
    我能否这么理解,我们平时要求自己手动写输入输出流啊 socket 啊之类的 close(),是担心这个程序是一个很长时间不结束一直运行的程序,如果我们不手动关闭,容易形成类似 C 的内存泄漏的问题。。。但实际上,如果这个程序我们确定它运行不了多久多大就会结束,那不写也没事,因为程序结束退出的时候会自行把这些资源全都关闭(释放)掉?可是这是怎么实现的呢,java 又没有析构函数。
    所以守护线程自动退出时的资源不需要手动明确关闭(释放),因为这意味着不就之后整个程序都要结束了。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2575 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 05:00 PVG 13:00 LAX 22:00 JFK 01:00
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86