hashtable底层是什么锁
时间: 2023-10-10 20:12:22 浏览: 75
hashtable C++无锁(std_atomic)&U32非0&不可扩大.rar
Hashtable 的底层并没有锁。
在 Java 中,Hashtable 是一种同步的数据结构,它使用 synchronized 关键字来实现线程安全。在每个公共方法上,都有一个 synchronized 关键字修饰,这个关键字会对 Hashtable 对象进行加锁,保证并发访问的安全性。
但是,在 JDK 1.5 以后,Java 提供了更加高效的 ConcurrentHashMap 类,它使用了一种不同的并发控制方式,即分段锁(Segment Locking),将一个大的 Hashtable 分成多个小的 Hashtable,每个小的 Hashtable 单独进行加锁,这样可以提高并发度,减少锁竞争,从而提高性能。因此,如果需要高效的并发哈希表,可以考虑使用 ConcurrentHashMap。
阅读全文