dubbo源码双重检查锁原理分析
dubbo源码中多处用到双重检查锁,
比如ExtensionLoader#getExtensionClasses
以上源码中,cachedClasses为多个线程共享资源。比如多个线程调用getExtensionClasses()方法的时候,假设X,Y线程都判断第558行classes==null,都进入了559行。
接着X线程抢先拿到锁,从cachedClasses获取值,发现为空,为其赋值,...
原创
2019-08-28 13:58:58 ·
312 阅读 ·
0 评论