synchronized和ReentrantLock的区别
- sychronized 是一个关键字,ReentrantLock 是一个类
- sychronized 会自动的加锁与释放锁,ReentrantLock 需要程序员手动加锁与释放锁
- sychronized 的底层是JVM层面的锁,ReentrantLock 是API层面的锁
- sychronized 是非公平锁,ReentrantLock 可以选择公平锁或非公平锁
- sychronized 锁的是对象,锁信息保存在对象头中,ReentrantLock 通过代码中 int 类型的state 标识来标识锁的状态
- sychronized底层有一个锁升级的过程
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步