在run()
方法完成执行后,应该如何处理Thread? Java中的Thread需要清理吗?
答案 0 :(得分:34)
除非线程的工作使用了一些非托管资源(网络流,文件等) - 在这种情况下它应该自行清理 - 你无需做任何事情。
请注意,保持对表示线程的Thread
对象的引用不会使底层操作系统线程保持活动状态。
答案 1 :(得分:10)
一旦run
方法完成执行,你就不需要线程退出
答案 2 :(得分:8)
通常清理由垃圾收集器完成。如果线程使用文件/套接字,您可能需要关闭它们。最佳做法是关闭finally
中顶级Thread::run
块中的资源。
实际上,您需要清理数据,而不是线程。
答案 3 :(得分:2)
Nopes。该线程将自行执行并死亡,并收集垃圾。
答案 4 :(得分:2)
不是没有必要。当线程退出其run方法时,线程自身进入退出状态。