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

原文 标签 java multithreading garbage-collection

线程启动后,如果该线程的引用设置为null,则该线程将如何处理?会停止吗?它有资格获得GC吗?

像这样:

t.start();
t = null;

最佳答案

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

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

相关文章:

java - 查询从两个不同的表中获取用户图像路径和用户信息

c++ - 解除锁定时持有互斥对象的对象

c# - 在C#中监视垃圾收集器

Node.js 缓冲区垃圾回收

java - Android 2.3.3,使用 tabhost 和第二个 tabhost 加载布局不起作用

java - Java swing JOptionPane:结合使用showInputDialog和showOptionDialog吗?

java - 8x8骑士之旅Java内存不足

c# - .NET 2.0 的类 TPL 库

python - PyCharm-如何暂停所有线程

java - 对字符串池对象的弱引用