首次提交:初始化项目代码
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"sync"
|
||||
"time"
|
||||
)
|
||||
|
||||
var wg4 sync.WaitGroup
|
||||
|
||||
// 模拟子任务
|
||||
func processTask(taskID int) {
|
||||
defer wg4.Done() // 任务完成后计数器-1
|
||||
fmt.Printf("任务%d: 开始执行\n", taskID)
|
||||
// 模拟任务耗时(不同任务耗时不同)
|
||||
time.Sleep(time.Duration(taskID) * 300 * time.Millisecond)
|
||||
fmt.Printf("任务%d: 执行完成\n", taskID)
|
||||
}
|
||||
|
||||
func main() {
|
||||
fmt.Println("主线程: 启动子任务")
|
||||
|
||||
// 启动5个并发任务
|
||||
for i := 1; i <= 5; i++ {
|
||||
wg4.Add(1) // 计数器+1
|
||||
go processTask(i)
|
||||
}
|
||||
|
||||
wg4.Wait() // 阻塞至所有任务完成(计数器=0)
|
||||
fmt.Println("主线程: 所有子任务完成,继续执行后续逻辑")
|
||||
}
|
||||
Reference in New Issue
Block a user