首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

请问静态变量的线程安全有关问题

2012-01-16 
请教静态变量的线程安全问题程序用到一个staticHashMap储存一些数据,有两个线程会访问到它,这两个线程是不

请教静态变量的线程安全问题
程序用到一个static   HashMap储存一些数据,有两个线程会访问到它,这两个线程是不相干的,现在可能会出现这种情况:就是两个线程同时操作此变量,因此会发生异常java.util.ConcurrentModificationException
请问有什么办法解决?使同一时间只能有一个线程操作此变量,synchronized好像只能对同一个Object加锁

[解决办法]
可以在static HashMap对象是加入Collections.synchronizedCollection()修饰,这时HashMap的对象就会成为线程安全的对象
[解决办法]
可以把对变量的操作写在一个方法里。然后synchronized,

热点排行