关于Java中的 CopyOnWriteArraySet

最近做的课程设计中用到了Java线程安全的集合类,因此关于对Java线程安全集合类的理解做个简单记录。
Java集合类用于存储数量不定的对象(实际存储的是对象的引用)。Java集合大致分为以下几类:


Java集合

而Java线程安全的集合类包含两类,一类是以Conccurent开头的集合类,如ConcurrentSkipListMap、ConcurrentSkipListSet、ConcurrentLinkedQueue和ConcurrentLinkedDeque。以CopyOnWrite开头的 CopyOnWriteArraySet和 CopyOnWriteArrayList。在本次课程设计中用到了 CopyOnWriteArraySet,它的底层封装了CopyOnWriteArrayList,而CopyOnWriteArrayList是采用复制底层数组的方式来实现读写操作的,因此它是线程安全的,因而CopyOnWriteArraySet也是线程安全的。另一方面,CopyOnWriteArraySet是基于Set集合,是无序、不可重复的集合,因此存储在该集合中的对象是不可重复的。
在本次课设关于CopyOnWriteArraySet的应用如下:

//初始化集合,存放websocket对象
private static CopyOnWriteArraySet<ChatServer> servers= new CopyOnWriteArraySet<ChatServer>();
servers.add(this);//添加用户
for(ChatServer server:servers){}//遍历集合

写在后面:
虽然以前做了好多课设,自我感觉完成得还不错的,但是在做的过程中也没有记录,最后报告交了就没有进行整理,所以收获其实不大。虽然边学边记录,现在看来好像会拉低效率,不过长期坚持下来这应该会是一个有效的学习途径。加油吧,当时写写日记喽!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容