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

nat*_*ath 20 java multithreading

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

Jon*_*eet 34

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

请注意,保持对Thread表示线程的对象的引用不会使底层OS线程保持活动状态.

  • 另外值得注意的是,Thread对象并不总是代表OS线程,就像File对象并不总是代表"真实"文件一样. (5认同)

Sri*_*thy 10

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


kha*_*hik 8

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

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