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

请问ArrayList size 有关问题 ,望各位指教,多谢!

2012-01-14 
请教ArrayListsize 问题 ,望各位指教,谢谢!!急我在一个类中使用了一个变量size来表示 当前ArrayList元素个

请教ArrayList size 问题 ,望各位指教,谢谢!! 急


我在一个类中使用了一个变量size来表示 当前ArrayList元素个数,
程序是两个个线程同时取访问这个size分别添加和删除Arraylist中的元素。
问题出现在一个添加ArrayList的线程在size++的时候,就在没向下跑,(注:观察其他的线程也都没动静了)这是怎么回事。
请问和这个多线程同事访问size有关系吗??当这两个线程读取size时,会出现问题吗??

谢谢!!望各位多指教,谢谢,谢谢!!!

[解决办法]
把代码贴上来看看。

死锁了?
[解决办法]
贴代码
ArrayList不是线程安全的。
[解决办法]
加上同步吧,可能是死锁了
[解决办法]
ArrayList不是线程安全的,应该在size方法前加上synchronized,防止2个或2个以上线程同时访问。
[解决办法]
同步问题啦
把ArrayList 改成 Hashtable
[解决办法]

探讨
ArrayList不是线程安全的,应该在size方法前加上synchronized,防止2个或2个以上线程同时访问。

[解决办法]
应该是getTreeLock,ArrayList不是线程安全的。

其实Java的Collections中就有线程的将ArrayList线程安全的方法,没有必要什么都去加synchronized,如果设计不好会起反作用的
[解决办法]
贴代码看下
[解决办法]
Vectors是可同步化的,意思就是说,任何操作Vector的内容的方法都是线程安全的,相反的,另一方面,ArrayList是不可同步化的,所以也不是线程安全的。如果你知道了这些的话,你就会发现,Vector的同步会让它在性能发方面有一些小问题。所以,如果你不需要线程安全的话,那么就使用 ArrayList吧
[解决办法]
同步!
[解决办法]
Vector是同步的,线程安全的,而ArrayList是非同步的,不是线程安全的,由于线程会影响到性能,所以ArrayList比Vector开销更小,性能要好点
当他们中的元素超过了他们的初始化容量大小的时候,Vector会将它的容量翻倍,而Arraylist只会增长50%的大小,这样Arraylist有利于节约内存的大小
他们在使用上非常相视,都是表示一组数量可变的数组对象应用的集合,可以随机的访问他们的元素

[解决办法]
ArrayList不是线程安全的,应该加上synchronized,防止死锁。或者改成HashTable
[解决办法]
ArrayList不是线程安全的,应该加上synchronized,防止死锁。或者改成HashTable
[解决办法]
ArrayList不是线程安全的,应该加上synchronized,防止死锁。或者改成HashTable
[解决办法]
探讨
应该是getTreeLock,ArrayList不是线程安全的。

其实Java的Collections中就有线程的将ArrayList线程安全的方法,没有必要什么都去加synchronized,如果设计不好会起反作用的

[解决办法]
嗯, ArrayList不是线程安全的,应该加上synchronized
[解决办法]
学习学习
[解决办法]
探讨
Vectors是可同步化的,意思就是说,任何操作Vector的内容的方法都是线程安全的,相反的,另一方面,ArrayList是不可同步化的,所以也不是线程安全的。如果你知道了这些的话,你就会发现,Vector的同步会让它在性能发方面有一些小问题。所以,如果你不需要线程安全的话,那么就使用 ArrayList吧

[解决办法]
我也觉得应该用Vector
[解决办法]
不管是不是同步问题,你修改共享资源的时候就必须考虑同步的问题,具体怎么解决就看怎么效率高点了

热点排行
Bad Request.