美文网首页
JAVA常用的锁机制

JAVA常用的锁机制

作者: MaTae | 来源:发表于2020-04-03 15:07 被阅读0次

    Synchronized

    实现依赖JVM,随着jdk版本升级从1.5的重量级锁,1.6的适应自旋、锁消除、锁粗化、轻量级锁、偏向锁等效率提升,1.7+实现机制优化。synchronized等待所不能被线程中断,容易死锁。

    ReentrantLock

    实现依赖cpu指令,必须在finally中解锁。引入公平锁和非公平锁(效率高)。

    lock.lock() 忽略中断锁,lock.lockInterruptibly()响应中断锁

    lock.tryLock()轮询锁,lock.tryLock(Long timeout, TimeUnit unit)定时轮询锁

    Semaphore

    与reentrantLock相似,支持多个临界资源。acquire()与release()方法来获得和释放临界资源。

    AtomicInteger

    运算原子化,比ReentrantLock效率高几倍。

    相关文章

      网友评论

          本文标题:JAVA常用的锁机制

          本文链接:https://www.haomeiwen.com/subject/eoihphtx.html