Java中哪些集合是线程同步的?

首先,线程同步,就意味着线程是安全的,在JDK1.1版本中,所有的集合都是线程安全的。但是在1.2及以后的版本中就出现了一些线程不安全的结合,为什么版本升级反而会出现一些线程不安全的集合呢?因为线程不安全的集合普遍比线程安全的集合效率高的多。随着业务的发展,特别是在WEB应用中,为了提高用户体验,减少用户的等待时间,页面的响应速度(也就是效率)是优先考虑的。而且对线程不安全的集合加锁以后也能达到安全的效果(但是效率会低,因为会有锁的获取以及等待)。其实在JDK源码中相同效果的集合线程安全的比线程不安全的就多了一个同步机制,但是效率上却低了不止一点点,因为效率低,所以已经不太建议使用了。下面列举一些常用的线程安全的集合以及相对应的线程不安全集合。

Vector:就比ArrayList多了个同步化机制。

HashTable:就比HashMap多了个线程安全。

ConcurrentHashMap:是一种高效但是线程安全的集合。

Stack:栈,线程安全,继承与Vector。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值