并发容器中,这样操作对象是不是 线程安全的?

大板牙花生 2014-03-26 11:52:11
class a{
public ConcurrentHashMap<Integer,Object> chm = new ConcurrentHashMap<Integer,Object> ();
}

class b {

public void method(Object o){
o= dosome(){o}
chm.put(key,o);
}
}

class c{
public void method(){
for(){
o= chm.get(key);
o.method();
chm.put(key,o);
}
}

}
...全文
135 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
大板牙花生 2014-03-27
  • 打赏
  • 举报
回复
引用 2 楼 jianglang_a 的回复:
没有问题 http://www.iteye.com/topic/344876
大侠,在操作容器中的对象的时候,如果同时执行并发写操作,会不会形成脏数据? 如何确保同时只能有一个操作对对象进行写操作,锁的粒度可以缩小到目标对象还是操作该对象的方法
亲努力啊 2014-03-26
  • 打赏
  • 举报
回复
没有问题 http://www.iteye.com/topic/344876
etnet 2014-03-26
  • 打赏
  • 举报
回复
ConcurrentHashMap只能保证它自己是线程安全的,即调用它的方法是安全的. 你调用get方法后.它不能给你任何保证.

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧