Java各种各样的锁

本人Java经验不是很多,在开发的过程中,经常会听到悲观锁乐观锁 可重入锁 递归锁 共享锁独占锁 偏向锁 自旋锁 是不是被各种各样的锁概念搞的晕头转向

悲观锁: 悲观锁指的是数据对外界的修改采取保守策略,它认为线程很容易会把数据修改掉,因此在整个数据被修改的过程中都会采取锁定状态,直到一个线程使用完,其他线程才可以继续使用。

package learn.cn.多线程;

/**
 * create by liuzhiwei on 2020/4/2
 */
public class 悲观锁 {
    public static void main(String[] args) {
        synchronized (悲观锁.class){
            System.out.println("lock");
        }
    }
}

synchronized修饰的代码块,在执行之前先使用monitorenter指令加锁,然后在执行结束之后再使用monitorexit指令释放锁资源,在整个执行期间此代码都是锁定的状态,这就是典型悲观锁的实现流程。

乐观锁:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值