java – 锁定API同步的优点
发布时间:2020-12-15 05:13:09 所属栏目:Java 来源:网络整理
导读:每个博客或解释我都看到了Locks API优于同步的优点. 我想知道有什么优势的同步锁定,或任何我应该更喜欢同步而不是锁定的情况. 解决方法 你的意思是synchronized语句和方法关键字?隐式锁定的主要优点是需要更少的代码并在离开其范围时自动解锁.对于简单的锁
每个博客或解释我都看到了Locks API优于同步的优点.
我想知道有什么优势的同步锁定,或任何我应该更喜欢同步而不是锁定的情况. 解决方法
你的意思是synchronized语句和方法关键字?隐式锁定的主要优点是需要更少的代码并在离开其范围时自动解锁.对于简单的锁定/等待操作,它是完美的解决方案.
所以下面的代码 public void myMethod() { synchronized(this) { // concurrent stuff } } 完全等同于 final private Lock lock = new ReentrantLock(); public void myMethod() { lock.lock(); try { // concurrent stuff } finally { lock.unlock(); } } 和 synchronized public void myMethod() { // concurrent stuff } 您还可以使用不同的对象进行同步(它们不受任何影响,仅作为控制点): final static private Object sync = new Object(); public void method1() { synchronized(sync) { // concurrent code involving static members } } public void method2() { synchronized(this) { // concurrent code affecting this instance } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |