refactor(config): 添加配置写入的并发安全锁机制
- 引入 sync.Mutex 确保配置访问的线程安全性 - 在 WriteConfig 函数中实现读写锁定机制 - 防止多协程同时修改配置导致的数据竞争问题
This commit is contained in:
@@ -2,6 +2,7 @@ package config
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"sync"
|
||||
|
||||
"github.com/fsnotify/fsnotify"
|
||||
"github.com/spf13/viper"
|
||||
@@ -17,6 +18,7 @@ type Config struct {
|
||||
}
|
||||
|
||||
var APPConfig Config
|
||||
var configMu sync.Mutex
|
||||
|
||||
const (
|
||||
Url = "url"
|
||||
@@ -70,6 +72,8 @@ func InitConfig() {
|
||||
}
|
||||
|
||||
func WriteConfig(key string, value any) {
|
||||
configMu.Lock()
|
||||
viper.Set(key, value)
|
||||
viper.WriteConfig()
|
||||
configMu.Unlock()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user