社区
Web 开发
帖子详情
请帮我解释一下,VECTOR和ARRAYLIST的同步和不同步的困惑!!
skyboy0720
2004-08-25 01:35:27
我在一封帖子看到这样的话,这封帖子是关于把数据库记录查询以后存在树组中的:
vctor可以很好解决同步问题
arrayList不能解决同步问题,需要自己写同步!
我真的有点不太明白,同步的概念,是什么意思,谁能形象的解释一下,万分感谢!!
...全文
408
13
打赏
收藏
请帮我解释一下,VECTOR和ARRAYLIST的同步和不同步的困惑!!
我在一封帖子看到这样的话,这封帖子是关于把数据库记录查询以后存在树组中的: vctor可以很好解决同步问题 arrayList不能解决同步问题,需要自己写同步! 我真的有点不太明白,同步的概念,是什么意思,谁能形象的解释一下,万分感谢!!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhouysh
2004-08-25
打赏
举报
回复
to
回复人: kingfish(八百里秦川@龙城异客) ( ) 信誉:100 2004-08-25 15:12:00 得分: 0
to zhouysh
同步也就是使多个线程同步
用来协调各个线程对指定资源的访问(通常是保证线程对资源的独占性访问)。
如果只有一个线程,也就没必要使用synchronized,用了也没错,就是会降低点效率
=============================================================================
哦, 你这里说的同步 应该跟我在"操作系统课"上学的各个"线程同时运行"是一个道理吗???
也就是说多个用户同时访问数据库中的一张表 就会出现 你说说的同步问题 对吗???
这个时候 我们在写程序中就必须要用到VECTOR ,而不能用ArrayList???但是不对啊
我在公司写的程序都是用ArrayList
晕了 完全不懂这一块
555555555555555555555555555
skyboy0720
2004-08-25
打赏
举报
回复
谢谢,能理解了,可能不能理解的是,对JAVA线程的深入了解吧!!!
kingfish
2004-08-25
打赏
举报
回复
to zhouysh
同步也就是使多个线程同步
用来协调各个线程对指定资源的访问(通常是保证线程对资源的独占性访问)。
如果只有一个线程,也就没必要使用synchronized,用了也没错,就是会降低点效率
zhouysh
2004-08-25
打赏
举报
回复
to
回复人: boykent(一路狂飙) ( ) 信誉:97 2004-08-25 14:59:00 得分: 0
http://dev.csdn.net/develop/article/22/22749.shtm
看看这篇文章,也许会给你点帮助.
===============================================================
同步性
Vector是同步的。这个类中的一些方法保证了Vector中的对象是线程安全的。而ArrayList则是异步的,因此ArrayList中的对象并不是线程安全的。因为同步的要求会影响执行的效率,所以如果你不需要线程安全的集合那么使用ArrayList是一个很好的选择,这样可以避免由于同步带来的不必要的性能开销。
这部分不明白```能不能把什么是"同步"解释一下啊 大哥````
boykent
2004-08-25
打赏
举报
回复
http://dev.csdn.net/develop/article/22/22749.shtm
看看这篇文章,也许会给你点帮助.
eureka0891
2004-08-25
打赏
举报
回复
也不是,
如果不是多线程往ArrayList里插入,更新是用不着考虑同步的!
否则就要用synchronized了
zhouysh
2004-08-25
打赏
举报
回复
回复人: kingfish(八百里秦川@龙城异客) ( ) 信誉:100 2004-08-25 13:50:00 得分: 0
ArrayList中:
public boolean add(Object o) {
...
}
vector中:
public synchronized void addElement(Object obj){
...
}
synchronized意思简单说就是
lock();
add();
unlock();
============================================================
严重关注,我对JDK中这部分什么同步不同步不理解, 请高手再说明白点
这里
lock();
add();
unlock();
是不是跟线程有关系???
skyboy0720
2004-08-25
打赏
举报
回复
按照这样的理解,那如果只是数据查询,用VECTOR就可以了,数据的更新和插入就用ARRAYLIST????
是这样么!
skyboy0720
2004-08-25
打赏
举报
回复
谢谢,能否说说一点实际经验,举个实际例子!
wubai250
2004-08-25
打赏
举报
回复
呵呵,说的很清楚,表扬!
kingfish
2004-08-25
打赏
举报
回复
同步是以牺牲效率为代价的
不需要同步的地方当然用ArrayList
skyboy0720
2004-08-25
打赏
举报
回复
既然这样,为什么我看了一些帖子,都建议用ArrayList呢?!
反而不用VECTOR,在数据库这方面
kingfish
2004-08-25
打赏
举报
回复
ArrayList中:
public boolean add(Object o) {
...
}
vector中:
public synchronized void addElement(Object obj){
...
}
synchronized意思简单说就是
lock();
add();
unlock();
Java理论与实践:描绘线程安全性
接着,有条件线程安全(Conditionally Thread-Safe)的类,如`Hashtable`和`
Vector
`,在某些特定的、有限的使用条件下是线程安全的,但并非在所有情况下。这意味着,如果用户按照指定的方式使用,这些类可以保证线程...
ArrayList
和
Vector
的区别
Vector
和
ArrayList
非常相似,两者都是用来表示可变数组,内部元素的存储都是通过数组来实现,可以随机的访问某个元素。 两者的主要区别是
Vector
的方法带有synchronized标志,各方法的访问是
同步
的,因此,
Vector
...
Vector
简单学习(JDK1.8)
具体来说,相对
ArrayList
,
Vector
使用synchronized关键字,实现了线程
同步
、保证了线程安全 但是,具体聊到
Vector
的细节,就不是很清楚了 还有,c++中也有
Vector
,具体有什么异同也不知道 ???? 本文将以
ArrayList
为...
ArrayList
&
Vector
的源码实现
#####前言: 本来按照计划,
ArrayList
和
Vector
是分开讲的,但是当我阅读了
ArrayList
和
Vector
的源码以后,我就改变了注意,把两个类合起来讲或许更加适合。为什么呢?我有几个理由。
ArrayList
和
Vector
都是List的...
java
ArrayList
与
Vector
源码学习
Vector
和
ArrayList
非常相似,两者都是用来表示可变数组,内部元素的存储都是通过数组来实现,可以随机的访问某个元素。 两者的主要区别是
Vector
的方法带有synchronized标志,各方法的访问是
同步
的,因此,
Vector
...
Web 开发
81,122
社区成员
341,744
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章