暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

2.Java的监视器模式-使用sychronized锁住私有对象

Java架构师编程 2019-08-06
714

对于遵循Java监视器模式的对象,会将对象所有的可变对象给封闭起来,并由对象自己的内置锁进行保护。

/**
* @author fenghongyu
*/
public class PrivateLock {
private Object object = new Object();




private Integer value;




public void addValue(Integer val) {
synchronized (object){
value +=val;
}
}
}

监视器模式是一种编码约定,对于任何一种锁对象,只要自始至终都使用该锁对象,都可以用来保护对象的状态。


使用私有对象锁,相比使用公有对象锁,有如下好处:

1. 私有的锁对象,可避免客户获取到锁,仅能通过方法来访问锁,以便合理的参与到它的同步策略中。

1. 如果要验证某公有锁对象是否被正确使用,需要查询所有使用到的代码,但私有锁,仅需要核对私有锁对象所在的类。


文章转载自Java架构师编程,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论