java中ConcurrentHashMap和HashTable的简介说明
2022/7/25 1:55:28
本文主要是介绍java中ConcurrentHashMap和HashTable的简介说明,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
转自:
http://www.java265.com/JavaCourse/202204/2950.html
ConcurrentHashmap:
乐观锁+Sysnchronized
多线程并发向同一个散列桶添加元素时若散列桶为空,则触发乐观锁机制,线程获取"散列桶"中的版本号,在添加元素之前判断线程中的版本号与桶中的版本号是否一致
致,添加成功不一致,自旋若散列桶不为空,,则使用synchroinized.先访问到的线程给头结点解
锁,形成链表或"红黑树",JDK1.8中ConcrruentHashMap在保证线程安全的同时允许最大程序的多线程并发执行
下文笔者讲述ConcurrentHashMap和HashTable的不同之处,如下所示:
ConcurrentHashMap使用多个存储桶来存储数据 使用这种方式可避免读取锁定 其性能比HashTable优秀 HashTable则是使用一个简单的同步锁进行每次的读写 注意事项: 1.ConcurrentHashMap和HashTable都是线程安全的 2.单线程下,笔者建议使用HashMap这个容器
这篇关于java中ConcurrentHashMap和HashTable的简介说明的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-29DataGrip使用ssh连接数据库的操作流程
- 2024-05-28SpringBoot3.2更新声明!
- 2024-05-28中外程序员到底有啥区别?
- 2024-05-25外企也半夜发布上线吗?
- 2024-05-24鸿蒙原生应用再新丁!芒果TV 入局鸿蒙
- 2024-05-22基本概念
- 2024-05-22检索数据
- 2024-05-22排序数据
- 2024-05-22基础过滤数据
- 2024-05-22通过逻辑操作符过滤数据