arrayList和Vector的比较,都说Vector是线程同步的,有必要吗?

llsll21 2011-06-15 04:27:51
我看了一个贴子讨论,很多人都说Vector是线程同步的,需要多线程的情况下用它。当然arrayList也可以支持多线程。

我想问的是,多线程的情况下,如果自己有一个vector对象会被从个线程访问,自己直接对访问它的方法做同步不是更好么?
如果所有可能访问它的方法都做了线程同步,而vector的方法本身也做了同步,此时是不是多此一举了? 但如果有别的对象也需要多线程访问,方法都做了线程同步,就留一个vector对象不去管,程序看起来会不会很奇怪?
...全文
665 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
nanatot 2011-07-06
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 leehomwong 的回复:]

ConcurrentLinkedQueue这个才是多线程用的
[/Quote]

正解
httpmm 2011-06-28
  • 打赏
  • 举报
回复
大师级的人物所写学习下
欢乐极客 2011-06-26
  • 打赏
  • 举报
回复
多看JDK API文档呗
fumin114 2011-06-26
  • 打赏
  • 举报
回复
学习了
debugbird 2011-06-25
  • 打赏
  • 举报
回复
顶一个先!!!!
  • 打赏
  • 举报
回复
Vector 调用 iterator 方法产生的迭代器对象不是线程安全的,因此,Vector, Hashtable 等等这些已经做为遗留的集合而存在了。
淫生杯具 2011-06-25
  • 打赏
  • 举报
回复
基本上用用arraylist满足一般的需求了。
JavaBoyCaoJi 2011-06-25
  • 打赏
  • 举报
回复
楼主,Vector是线程同步的,你觉得使用其他方式也可以进行同步控制,但是你得知道sun公司出品的基本类的代码都是大师级的人物所写,代码质量方法自然高人一筹咯,呵呵。
mayb0218 2011-06-25
  • 打赏
  • 举报
回复
学习,学习
liuxuejin 2011-06-24
  • 打赏
  • 举报
回复
vector是过时的东西了。如果要同步的容器的话,可以看看并发包的容器。
24K純帥 2011-06-24
  • 打赏
  • 举报
回复
ConcurrentLinkedQueue这个才是多线程用的
五哥 2011-06-24
  • 打赏
  • 举报
回复 1
程序取舍的问题:

要安全 速度慢


如果你的程序没有多线程访问,用ArrayList就可以了,访问速度块;

如果你的需要多线程访问,就使用 Vector ;人家提供的同步机制应该比我们自己写的好点啦,没有绝对啊
nobbycode 2011-06-24
  • 打赏
  • 举报
回复
每天回帖即可获得10分可用分!小技巧:教您如何更快获得可用分
一瞬间的心动 2011-06-24
  • 打赏
  • 举报
回复
我就看看
licip 2011-06-24
  • 打赏
  • 举报
回复
两个都有用吧。不过,现在确实用ArrayList多一些,在没有线程安全性的情况下。
有线和安全性存在的情况用:Vector
TKD03072010 2011-06-24
  • 打赏
  • 举报
回复
惭愧 学到现在 没用过vector
一般都用arraylist
devin_jia 2011-06-24
  • 打赏
  • 举报
回复
也只用ArrayList
steron 2011-06-23
  • 打赏
  • 举报
回复
1楼是对的,直接用ArrayList吧,现在很少看到Vector了,不推荐试用
chenchenyangll 2011-06-22
  • 打赏
  • 举报
回复
谁又挖坑 = =
理想哥 2011-06-22
  • 打赏
  • 举报
回复
Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的。
Vector本身为了多线程访问,就已经做了同步的操作,例如锁操作。当线程再为了Vector做同步时,显得多此一举。如果多个线程对这个Vector的同步没做好,有可能出现死锁等问题。所以当多线程访问Vector时,无需再考虑同步的问题。
对于你的3个问题,回答如下:
1. 可以,但不是更好。
2. 是。
3. 不会。
加载更多回复(5)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧