refactor(config): 添加配置写入的并发安全锁机制

- 引入 sync.Mutex 确保配置访问的线程安全性
- 在 WriteConfig 函数中实现读写锁定机制
- 防止多协程同时修改配置导致的数据竞争问题
This commit is contained in:
2026-04-28 14:59:21 +08:00
parent 7face117f3
commit 4addc29b2c
+4
View File
@@ -2,6 +2,7 @@ package config
import ( import (
"fmt" "fmt"
"sync"
"github.com/fsnotify/fsnotify" "github.com/fsnotify/fsnotify"
"github.com/spf13/viper" "github.com/spf13/viper"
@@ -17,6 +18,7 @@ type Config struct {
} }
var APPConfig Config var APPConfig Config
var configMu sync.Mutex
const ( const (
Url = "url" Url = "url"
@@ -70,6 +72,8 @@ func InitConfig() {
} }
func WriteConfig(key string, value any) { func WriteConfig(key string, value any) {
configMu.Lock()
viper.Set(key, value) viper.Set(key, value)
viper.WriteConfig() viper.WriteConfig()
configMu.Unlock()
} }