netty源码InternalLoggerFactory一点迷惑?

新手上路,请多包涵

netty内部日志框架InternalLoggerFactory中有一个volatile属性defaultFactory,不明白为啥要添加volatile关键字、如果说是为了实现单例,那么此类中的getDefaultFactory方法为什么不添加

同步锁语句、或者采用双重检查呢?如果说getDefaultFactory不存在并发问题、那么这里的volatile又是为了什么呢?

阅读 2.1k
1 个回答
新手上路,请多包涵

volatile 是为了线程可见,不加锁的原因,理解是因为 InternalLoggerFactory 是个无状态的类,也就是说多线程去调用 newDefaultFactory,不会有状态紊乱,最终都能达到预期效果

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进