如果 POJO 对象中的可变字段存储在并发HashMap 中,那么该字段是否是线程安全的?
或者我是否需要用锁保护字段或使它们不稳定以确保所有线程都能看到更新?将字段标记为易失性是否足以确保所有线程都能看到更新?
如果存储在并发HashMap中,POJO对象中的可变字段是线程安全的吗?
不。唯一线程安全的是哈希图本身的操作。
或者我是否需要用锁保护字段或使它们不稳定以确保所有线程都能看到更新?
是的,尽管这不一定足够。
将字段标记为易失性是否足以确保所有线程都能看到更新?
这取决于字段的类型。对于引用类型,还取决于对象是否可变。
一个忠告:
您无法通过简单的策略(例如使所有内容变得易失或同步)来处理线程安全。你实际上需要了解技术,也了解你的应用程序的本质;即并发/多线程将如何发生,以及什么needs是线程安全的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)