我正在开发一个Android版SDK,涉及一些线程。我有一个创建和启动未引用线程的操作:
new MySdkThread().start();
我必须绝对肯定我没有创建任何类型的僵尸线程和/或内存泄漏。那么从它的run()
方法返回的线程是死的,因此如果它没有被引用,它现在是否有资格被垃圾收集器回收,或者我是否必须加入它?我意识到这可能是一个非常明显的答案,但我没有发现任何关于加入线程的要求的绝对具体,我想确定。
答案 0 :(得分:1)
是一个从它的run()方法返回的线程,如果它没有被引用,它现在是否有资格被垃圾收集器回收,或者我是否必须加入它?
不,你不必加入它。如果没有对Thread
对象的引用,则它将被自动收集的垃圾回收,您根本不必担心它。这是标准的操作程序。