Преглед на файлове

refactor(initutils):重构全局等待组的Go函数实现

- 将globalWaitGroup.Go替换为显式调用Add和Done
- 添加了对函数执行完毕后的Done调用
- 使用goroutine包装函数调用以确保正确计数
-保持与原逻辑一致的行为和语义
dcsunny преди 2 седмици
родител
ревизия
7fe164519a
променени са 1 файла, в които са добавени 5 реда и са изтрити 1 реда
  1. 5 1
      initutils/global_wait_group.go

+ 5 - 1
initutils/global_wait_group.go

@@ -8,5 +8,9 @@ var globalWaitGroup sync.WaitGroup
 
 func GlobalWaitGroupWait() { globalWaitGroup.Wait() }
 func GlobalWaitGroupWaitGo(f func()) {
-	globalWaitGroup.Go(f)
+	globalWaitGroup.Add(1)
+	go func() {
+		defer globalWaitGroup.Done()
+		f()
+	}()
 }