读书人

Collections.synchronizedMap(new Has

发布时间: 2012-08-10 12:19:33 作者: rapoo

Collections.synchronizedMap(new HashMap())求解!
Collections.synchronizedMap(new HashMap())这个方法是什么意思,起到了什么求解作用.返回的map里面存的是什么东西?

[解决办法]
因为systemUsers在application里面,是个全局变量

如果有人正好在迭代MAP,同时有人往MAP里面增或删东西的话会报ConcurrentModify异常的.

所以,要同步。不过我觉得这里用ConcurrentHashMap

[解决办法]
Collections.synchronizedMap(new HashMap())
让你创建的new HashMap()支持多线程数据的同步。保证多线程访问数据的一致性
[解决办法]
Collections.synchronizedMap是个比较老的API了,实际用起来还要手工做一些事。

建议楼主用Java5的ConcurrentHashMap或Java6的ConcurrentSkipListMap

读书人网 >J2EE开发

热点推荐