synchronized 和 Lock区别 以及ReentrantLock 中不同方式获取锁的区别
synchronized 和 Lock区别,用Lock的好处
原始构成
synchronized 是关键字 属于JVM层面,通过javap命令 能看到底层使用 monitorenter 和 monitorexit 控制
lock 是juc包中的类,是api层面的锁
使用方法
synchronized 不需要用户手动释放锁,当sync代码执行完成后系统会自动让线程释放对锁的占用
ReentrantLock 需要手动释放锁,如果没有手动释放 会造成死锁现象,需要 lock() 和 unlock() 配
原创
2022-03-15 21:28:29 ·
373 阅读 ·
1 评论