java - 当Java线程设置为null时会发生什么?

标签 java multithreading garbage-collection

线程启动后,如果该线程的引用被设置为null,该线程会发生什么情况?它停止了吗?是否符合GC资格?

像这样:

t.start();
t = null;

最佳答案

即使其引用设置为 null, Activity 线程也将继续运行。
就像任何其他对象一样,当没有引用它时,它就有资格进行 GC。棘手的一点是,正在运行的线程在 ThreadGroup 中拥有引用,即使您的程序没有保留该引用,因此正在运行的线程永远不会被 GC。

关于java - 当Java线程设置为null时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25247340/

相关文章:

java - 如何在@PrePersist方法中获取类对象

c++ - std::atomic <>后递增何时发生?

c# - GC.收集()

java - 哈希表数组搜索中的空指针异常

如果我使用 Apache2(而不是 Tomcat),Java 找不到我的翻译文件

android - 在 AsyncTask 的 doInBackground() 中执行一个线程

.net - .net 中的 finalize 和 dispose 有什么区别?

java - Java 应用程序内存不足错误

java - 在 Java 中从调用者或在它调用的方法中进行所有必要的检查是否更好?

java - 不建议在 ExecutorService 中使用 wait(),notify() 方法