多线程 加锁的三种方式

来源:互联网 发布:付费ss推荐 知乎 编辑:程序博客网 时间:2024/06/06 10:46

加锁的第一种方式:

public class RootBeanDefinition{

final Object constructorArgumentLock = new Object();


final Object postProcessingLock = new Object();



public void registerExternallyManagedConfigMember(Member configMember) {
synchronized (this.postProcessingLock) {
if (this.externallyManagedConfigMembers == null) {
this.externallyManagedConfigMembers = new HashSet<Member>(1);
}
this.externallyManagedConfigMembers.add(configMember);
}
}


public Method getResolvedFactoryMethod() {
synchronized (this.constructorArgumentLock) {
Object candidate = this.resolvedConstructorOrFactoryMethod;
return (candidate instanceof Method ? (Method) candidate : null);
}
}


}




未完......






0 0