【详解】Java高并发三种锁的比较
引入
在Java高并发场景下,主要使用是三种锁synchronized、StampedLock、Lock
比较
总结
-
StampedLock是性能最好的,可以胜任复杂的读写多线程环境 令人惊奇的是synchronized ,由于是内置锁,每个JDK版本都会优化,尤其在复杂的读写多线程情况下,表现依然很优秀。 Lock虽然提供了读写锁,但是性能特别差;而ReentrantLock性能十分好,同时功能丰富
个人推荐:如果时读写环境,推荐使用StampedLock;如果是正常的加锁,推荐使用synchronized;如果需要对锁有更多的控制,推荐使用ReentrantLock
上一篇:
通过多线程提高代码的执行效率例子