Java——》乐观锁、悲观锁

推荐链接:
    总结——》【Java】
    总结——》【Mysql】
    总结——》【Redis】
    总结——》【Kafka】
    总结——》【Spring】
    总结——》【SpringBoot】
    总结——》【MyBatis、MyBatis-Plus】
    总结——》【Linux】
    总结——》【MongoDB】
    总结——》【Elasticsearch】

Java——》乐观锁、悲观锁

  • 一、概念
  • 二、分类

一、概念

锁类型 特点 描述
悲观锁 获取不到锁资源时,会将当前线程挂起(进入BLOCKED、WAITING) 线程挂起会涉及到用户态和内核态的切换,而这种切换是比较消耗资源的。
- 用户态:JVM可以自行执行的指令,不需要借助操作系统执行。
- 内核态:JVM不可以自行执行,需要操作系统才可以执行。
乐观锁 获取不到锁资源时,可以再次让CPU调度,重新尝试获取锁资源 基于Java中的CAS操作

二、分类

锁类型 描述
synchronized 悲观锁
ReentrantLock 悲观锁
ReentrantReadWriteLock 悲观锁
Atomic原子性类 乐观锁

你可能感兴趣的:(Java,java,乐观锁,悲观锁)