推荐链接:
总结——》【Java】
总结——》【Mysql】
总结——》【Redis】
总结——》【Kafka】
总结——》【Spring】
总结——》【SpringBoot】
总结——》【MyBatis、MyBatis-Plus】
总结——》【Linux】
总结——》【MongoDB】
总结——》【Elasticsearch】
锁类型 | 特点 | 描述 |
---|---|---|
悲观锁 | 获取不到锁资源时,会将当前线程挂起(进入BLOCKED、WAITING) | 线程挂起会涉及到用户态和内核态的切换,而这种切换是比较消耗资源的。 - 用户态:JVM可以自行执行的指令,不需要借助操作系统执行。 - 内核态:JVM不可以自行执行,需要操作系统才可以执行。 |
乐观锁 | 获取不到锁资源时,可以再次让CPU调度,重新尝试获取锁资源 | 基于Java中的CAS操作 |
锁类型 | 描述 |
---|---|
synchronized | 悲观锁 |
ReentrantLock | 悲观锁 |
ReentrantReadWriteLock | 悲观锁 |
Atomic原子性类 | 乐观锁 |