part1 config配置Init加锁问题
godsoul opened this issue · 4 comments
godsoul commented
m.Lock() defer m.Lock() if inited { log.Logf("[Init] 配置已经初始化过了") return }
初始化配置加了锁还加个标志,Init是启动时候显式调用的,有可能会并发执行吗?
printfcoder commented
Hi, 正常不会去并发, 也不会重复执行, 以防万一而已.
godsoul commented
Hi, 正常不会去并发, 也不会重复执行, 以防万一而已.
感觉放默认init也挺好的,还能保证只执行一次
printfcoder commented
显式一般是内部服务分层,分模块时会如此,为了让开发团队知道服务启动的重要组件,做成init就隐藏了逻辑,反而不利于业务的传授
mouyong commented
@printfcoder 这个 inted 是否可能使用 once.Do 替代呢?