netty源码InternalLoggerFactory一点迷惑?
netty内部日志框架InternalLoggerFactory中有一个volatile属性defaultFactory,不明白为啥要添加volatile关键字、如果说是为了实现单例,那么此类中的getDefaultFactory方法为什么不添加
同步锁语句、或者采用双重检查呢?如果说getDefaultFactory不存在并发问题、那么这里的volatile又是为了什么呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
volatile 是为了线程可见,不加锁的原因,理解是因为 InternalLoggerFactory 是个无状态的类,也就是说多线程去调用 newDefaultFactory,不会有状态紊乱,最终都能达到预期效果