chengfengjie / chengfengjie.github.io

我叫MT
1 stars 0 forks source link

Java线程安全的容器 #19

Open chengfengjie opened 6 years ago

chengfengjie commented 6 years ago

HashtableConcurrentHasMap

相同点: HashtableConcurrentHashMap都是线程安全的,可以在多线程环境中运行,并且keyvalue都不能为null 区别: 主要是性能上的差异,Hashtable的所有操作都会锁住整个对象,虽然能够保证线程安全,但是性能比较差;ConcurrentHashMap内部使用Segment数组,每个Segment类似Hastable,在"写"线程或者部分特殊的"读"线程中锁住的是某个Segment对象,其他的线程能够并发执行其他的Segment对象。