日期:2014-05-20  浏览次数:20639 次

使用hashMap 配合 lock 可以达到并发操作的时候数据不会乱吗
使用hashMap 配合 lock 可以达到并发操作的时候数据不会乱吗?

------解决方案--------------------
hashmap本身是线程不安全的。没有额外的同步保护的话会容易出问题,如果自己实现一套对hashmap的存取同步操作也是可以的。hashtable本身就线程安全的,完全可以用hashtable啊
------解决方案--------------------
并发操作建议使用java.util.concurrent.ConcurrentHashMap
------解决方案--------------------
可以,但是ConcurrentHashMap的性能高很多
------解决方案--------------------
你这样等于是把并发问题的解决放在了各个调用点,你试想下,如果程序有100个地方用,你就要写100个lock。如果别人维护你的代码怎么搞。
正确的做法应该在源头控制,就是选择线程安全的集合。