在jdk1.8中cas+synchronized与segment相比的好处是什么?
时间: 2023-06-08 21:05:24 浏览: 91
ConcurrentHashMap的实现原理(JDK1.7和JDK1.8).pdf
在JDK 1.8中,CAS(Compare And Swap)和synchronized以及segment的好处如下:
1. CAS操作是一种无锁算法,它不需要线程上下文切换和调度的相关开销和阻塞,因此具有较高的效率和吞吐量。
2. synchronized在内部需要获得锁,如果一个线程正在使用锁,其他所有需要该锁的线程将阻塞,这会影响应用程序的性能。使用CAS可以避免锁的争用,从而提高应用程序的并发性能。
3. segment是JDK1.7之前ConcurrentHashMap的实现方式,它使用多个并发哈希表,每个哈希表对应一个Segment,每个Segment的大小都比较小,从而避免锁的争用。JDK 1.8中ConcurrentHashMap改用了CAS操作,因此不需要Segment了。
阅读全文