SBa*_*ach 4 java concurrency concurrenthashmap
我有一个关于ConcurrentHashMaps的问题.可以说我有2个线程.线程A尝试从共享的ConcurrentHashMap获取对象.线程B清除共享映射.如果线程A和线程B同时访问共享资源会发生什么.我搜索了文档和网络,找不到确定的答案,也尝试自己做但无济于事.
ConcurrentHashMap 根据并发级别划分为不同的段.因此,不同的线程可以在java中同时访问不同的段.
线程可以读取由java中的其他一些线程锁定的ConcurrentHashMap段吗?
是.当线程锁定一个段进行更新时,它不会阻止它进行检索(由get方法完成),因此其他一些线程可以读取段(通过get方法),但是它可以在锁定之前读取数据.
对于诸如putAll之类的操作,并发检索可能反映仅删除一些条目.对于诸如清除并发检索之类的操作,可能反映仅删除一些条目.
| 归档时间: |
|
| 查看次数: |
3352 次 |
| 最近记录: |