Pārlūkot izejas kodu

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

- 将globalWaitGroup.Go替换为显式调用Add和Done
- 添加了对函数执行完毕后的Done调用
- 使用goroutine包装函数调用以确保正确计数
-保持与原逻辑一致的行为和语义
dcsunny 2 nedēļas atpakaļ
vecāks
revīzija
7fe164519a
1 mainītis faili ar 5 papildinājumiem un 1 dzēšanām
  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()
+	}()
 }