1. 程式人生 > >多執行緒 加鎖的三種方式

多執行緒 加鎖的三種方式

加鎖的第一種方式:

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);
}
}

}

未完......