-
内部锁不够灵活
锁的申请和释放只能在一份方法内(方法块无法跨方法)进行
显示锁支持在一个方法中申请锁,在另一个方法中释放锁 -
内部锁不会产生锁泄漏
显示锁会可能会产生锁泄漏,写代码的时候要注意 -
内部锁是非公平锁
显示锁可以是公平锁,也可是非公平锁 -
当线程申请不到内部锁的时候会一直阻塞
当线程使用显示锁的tryLock()方法去申请锁时,如果申请不到,不会一直阻塞,可以去干其他的事情 -
对于新版本的java来说,两者的性能差异已经越来越小了
内部锁不够灵活
锁的申请和释放只能在一份方法内(方法块无法跨方法)进行
显示锁支持在一个方法中申请锁,在另一个方法中释放锁
内部锁不会产生锁泄漏
显示锁会可能会产生锁泄漏,写代码的时候要注意
内部锁是非公平锁
显示锁可以是公平锁,也可是非公平锁
当线程申请不到内部锁的时候会一直阻塞
当线程使用显示锁的tryLock()方法去申请锁时,如果申请不到,不会一直阻塞,可以去干其他的事情
对于新版本的java来说,两者的性能差异已经越来越小了
本文标题:14. 显式锁与内部锁的比较
本文链接:https://www.haomeiwen.com/subject/bcjdhqtx.html
网友评论