- 《java并发编程实践》中提到,使用final域确保初始化安全性,初始化安全性,让不可变对象不需要同步就能自由的被访问和共享。
- 使用volatile修饰来保证某个变量内存的改变对其他线程即时可见。可以配合CAS实现不加锁对并发操作的支持。
ConcurrentHashMap的get操作可以无锁,正式由于Node的元素val和指针
next是使用volatile修饰的,在多线程环境下,A线程修改节点val或者新增节点对B线程都是即时可见的,保证了数据的一致性。
本文标题:ConcurrentHashMap中变量为什么使用final和v
本文链接:https://www.haomeiwen.com/subject/gldvbrtx.html
网友评论