如果存储在concurrentHashMap中,POJO对象中的可变字段是否安全?
或者我是否需要使用锁定来修改字段或使其变得易变,以确保所有线程都可以看到提升?将该字段标记为volatile是否足以确保所有线程都能看到更新?
Ste*_*n C 13
如果存储在concurrentHashMap中,POJO对象线程安全中是可变字段吗?
不可以.线程安全的唯一事情是对hashmap本身的操作.
或者我是否需要使用锁定对字段进行研磨或使其变得易变,以确保所有线程都能看到提升?
是的,虽然这不一定足够.
将该字段标记为volatile是否足以确保所有线程都能看到更新?
这取决于字段的类型.对于引用类型,它还取决于对象是否可变.
一个忠告:
你不能通过简单的策略来处理线程安全,例如使一切变得易失或同步.您实际上需要了解技术,并了解应用程序的性质; 即并发/多线程将如何发生,以及什么需要线程安全.
| 归档时间: |
|
| 查看次数: |
743 次 |
| 最近记录: |