java中的同步集合与并发集合

更新时间:2023-06-30 10:24:32 阅读: 评论:0

韩文网站java中的同步集合与并发集合
同步集合可以简单地理解为通过synchronized来实现同步的集合。如果有多个线程调⽤同步集合的⽅法,它们将会串⾏执⾏。
arrayList和vector、stack:
1. Vector是线程安全的,源码中有很多的synchronized可以看出,⽽ArrayList不是。导致Vector效率⽆法和ArrayList相⽐
2. ArrayList和Vector都采⽤线性连续存储空间,当存储空间不⾜的时候,ArrayList默认增加为原来的50%,Vector默认增加为原来的⼀倍
庐江英语3. Vector可以设置capacityIncrement,⽽ArrayList不可以,从字⾯理解就是capacity容量,Increment增加,容量增长的参数
4. Stack是继承于Vector,基于动态数组实现的⼀个线程安全的栈
5. arrayList、vector、Stack的共性特点:随机访问速度快,插⼊和移除性能较差(这是数组的特点,三者的底层均为数组实现)
HashMap和Hashtable:
1. HashMap是⾮synchronized的,⽽Hashtable是synchronized的。这说明Hashtable是线程安全的,⽽且多个线程可以共享⼀个Hashtable
nos2. 由于Hashtable是线程安全的,也是synchronized的,所以在单线程环境下⽐HashMap要慢
3. HashMap可以存在null的键值(key)和值(value),
但是Hashtable是不可以的
hc是什么意思
Collections:iana
Collections是为集合提供各种⽅便操作的⼯具类,通过它,可以实现集合排序、查找、替换、同步控制、设置不可变集合
Collections.synchronizedCollection(Collection<T>t)
Collections.synchronizedList(List<T>list)
Collections.synchronizedMap(Map<K, V>map)
Collections.synchronizedSet(Set<T> t)
上⾯⼏个⽅法是Collections⼯具类将集合变为同步集合,从⽽解决集合的线程安全问题。
同步集合在单线程的环境下能够保证线程安全,但是通过synchronized同步⽅法将访问操作串⾏化,导致并发环境下效率低下。⽽且同步集合在多线程环境下的复合操作(迭代、条件运算如没有则添加等)是⾮线程安全,需要客户端代码来实现加锁。
kilometer怎么读并发集合 是jdk5.0重要的特性,增加了并发包urrent.*。Java内存模型、volatile变量及AbstractQueuedSynchronizer(简称AQS同步器),是并发包众多实现的基础。
party in the usa常见的并发集合:
大连大学英语学院
ConcurrentHashMap:线程安全的HashMap的实现
CopyOnWriteArrayList:线程安全且在读操作时⽆锁的ArrayList
CopyOnWriteArraySet:基于CopyOnWriteArrayList,不添加重复元素
ArrayBlockingQueue:基于数组、先进先出、线程安全,可实现指定时间的阻塞读写,并且容量可以限制
要塞的意思
LinkedBlockingQueue:基于链表实现,读写各⽤⼀把锁,在⾼并发读写操作都多的情况下,性能优于ArrayBlockingQueue
CopyOnWrite集合即写时复制的集合。
通俗的理解是当我们往⼀个集合添加元素的时候,不直接往当前集合添加,⽽是先将当前集合进⾏Copy,复制出⼀个新的集合,然后新的集合⾥添加元素,添加完元素之后,再将原集合的引⽤指向新的集合。这样做的好处是我们可以对CopyOnWrite集合进⾏并发的读,⽽不需要加锁,因为当前集合不会添加任何元素。所以CopyOnWrite集合也是⼀种读写分离的思想,读和写不同的集合。
>english poem

本文发布于:2023-06-30 10:24:32,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/78/1070020.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:集合   实现   线程   添加
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图