java - 同时从多个线程调用 weakReference.get() 方法是否安全?

标签 java garbage-collection

从多个线程调用weakReference.get()方法是否安全 同时?

文档说

Once an object has been determined to be garbage collectable at that time it will atomically clear all weak references to that object

最佳答案

WeakReference.get() 由 GC 更新或 GC 线程无法更新时。否则,您可能会看到之前收集的对象。

注意:正如@Pillar 可能暗示的那样,有一个操作不是线程安全的clear(),另一个线程可能仍然get()调用后的值。

关于java - 同时从多个线程调用 weakReference.get() 方法是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36785864/

相关文章:

java - 以编程方式使用硬件随机数生成器

c# - 局部范围的定时器的预期行为是什么?

java - 具有大量引用字段(数组除外)的对象是否会破坏 Hotspot JVM 的 GC(s) 堆遍历性能?

java - 替换 Java 中的 Finalize()

c# - 当垃圾收集器在堆中移动数据时,引用是否会更新?

java - 在eclipse中调试带有源代码的jar文件

java - 在最后一行输入数据时自动在 jTable 中插入新行

java.lang.OutOfMemoryError : Compressed class space 错误

java - 如何将 EditText 中的文本插入数据库?

java - 错误 : oracle. security.crypto.asn1.ASN1FormatException:获得标签 0 而不是 16