synchronized和lock的区别

2024-01-09 06:45:43

synchronized和lock的区别

1)synchronized是一个关键字,lock是一个java类;

2)synchronized无法判断获取锁的状态,lock可以判断是否获取到了锁;

3)synchronized会自动释放锁,lock必须要手动释放,不释放会造成死锁

4)synchronized 线程1(获得锁,阻塞),线程2(一直等待);lock锁不一定会等待下去;

5)synchronized 可重入锁,不可以中断,非公平;lock 可重入锁,可以中断锁,非公平(可以设置);

6)synchronized 适合锁少量的代码同步问题,lock适合锁大量的同步代码。

在这里插入图片描述

文章来源:https://blog.csdn.net/weixin_52164430/article/details/135469317
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。