Ver Fonte

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

- 将globalWaitGroup.Go替换为显式调用Add和Done
- 添加了对函数执行完毕后的Done调用
- 使用goroutine包装函数调用以确保正确计数
-保持与原逻辑一致的行为和语义
dcsunny há 2 semanas atrás
pai
commit
7fe164519a
1 ficheiros alterados com 5 adições e 1 exclusões
  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()
+	}()
 }