JAVA的List怎么实现线程同步啊? 400 报错
我的网站用一个list记录最近用户浏览的信息,只记录最新几十条,频凡的添加移除操作,如果在线用户少就没事,在线用户一多就出错,错误就是list不是线程同步的一个线程在移除时,另一个线程在循环就报错,有什么好办法.
Vector 是线程安全的, ArrayList 不是线程安全的
######这个也不是完全线程同步的,Vector只在少量的地方对象同步,大部分方法上进行了同步######private static ConcurrentHashMap<String, Method> actions = new ConcurrentHashMap<String, Method>();
synchronized (actions) {
actions.put(key, m);
}
######我用了synchronized 还是报错,只能试下Vector了
######用 for(Object o:List)不可以吗?
######CopyOrWriteArrayList
java 并发包 提供的 ArrayList 线程安全类
######好的我看看
######
CopyOrWriteArrayList
java 并发包 提供的 ArrayList 线程安全类
在迭代器上进行的元素更改操作(remove、set 和 add)不受支持。这些方法将抛出 UnsupportedOperationException。
同样不行
######CopyOrWriteArrayList
java 并发包 提供的 ArrayList 线程安全类
在迭代器上进行的元素更改操作(remove、set 和 add)不受支持。这些方法将抛出 UnsupportedOperationException。
同样不行
你这个问题要用Iterator
######用这个 整理一下不行 Collections.synchronizedList(list) ?
######要是这样的问题我会用 ThreadLocal,试试
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。