public static ControllerConfig getControllerConfig(URL url) {
ControllerConfig controllerConfig = (ControllerConfig) controllerCache.get(url);
if (controllerConfig == null) { // don't want to block here
synchronized (ConfigXMLReader.class) {
// must check if null again as one of the blocked threads can still enter
controllerConfig = (ControllerConfig) controllerCache.get(url);
if (controllerConfig == null) {
controllerConfig = new ControllerConfig(url);
controllerCache.put(url, controllerConfig);
}
}
}
return controllerConfig;
}
java同步代码范例
最新推荐文章于 2022-05-22 14:21:41 发布