如何在运行方法完成后清理线程?

时间:2010-11-26 07:28:14

标签: java multithreading

run()方法完成执行后,应该如何处理Thread? Java中的Thread需要清理吗?

5 个答案:

答案 0 :(得分:34)

除非线程的工作使用了一些非托管资源(网络流,文件等) - 在这种情况下应该自行清理 - 你无需做任何事情。

请注意,保持对表示线程的Thread对象的引用不会使底层操作系统线程保持活动状态。

答案 1 :(得分:10)

一旦run方法完成执行,你就不需要线程退出

答案 2 :(得分:8)

通常清理由垃圾收集器完成。如果线程使用文件/套接字,您可能需要关闭它们。最佳做法是关闭finally中顶级Thread::run块中的资源。

实际上,您需要清理数据,而不是线程。

答案 3 :(得分:2)

Nopes。该线程将自行执行并死亡,并收集垃圾。

答案 4 :(得分:2)

不是没有必要。当线程退出其run方法时,线程自身进入退出状态。