众所周知,LinkedList不是线程安全的,可以用
List list = Collections.synchronizdList(linkedlist)来得到线程安全的List.
这样多线程可以对list进行任意操作.但如果从list中得到它的subList.多线程对
list的操作却会使subList引发同步修改异常.请问有什么办法解决呢?
List list = Collections.synchronizdList(linkedlist)来得到线程安全的List.
这样多线程可以对list进行任意操作.但如果从list中得到它的subList.多线程对
list的操作却会使subList引发同步修改异常.请问有什么办法解决呢?
解决方案 »
- 高手请看:Java怎么将一个含有逻辑运算符的字符串转化成逻辑表达式???
- HttpURLConnection 或者 HttpClient下载的时候,怎么控制下载速度?
- 报错说: 无法从静态上下文中引用非静态 变量 this和this.go();
- java 同步方法的 一个小问题,求助
- javaSE小问题?
- 找个合适的报表工具如此之难吗?
- 求救!——socket文件传输+消息验证传输正确性。(附代码)
- String a=new String("123") 生成了一个String对象?(1 or 2)
- 幫幫忙吧,先謝過了!!
- 关于SQL2000的jdbc驱动程序的问题
- 跪求:jdk1.5.0如何实现BMP图片的保存?
- javah工具的使用方法
由于List的clone方法是浅克隆,克隆的是里面对象的引用,因而应该不会影响你的使用
我说不影响你的使用,就是这个意思,不是不影响原来的对象
这个效果也应该能影响到原来的List,而不是单纯能改变原来的List的对象.
我看楼主你只能在对subList进行操作之前取得List的对象锁了,也就是在方法体里加上
synchronizd(list){
.........
}