如何在黄HandleFunc中使用多线程编程?

如何在黄HandleFunc中使用多线程编程?

package main

import (
	"fmt"
	"sync"
)

func main() {
	var wg sync.WaitGroup
	wg.Add(2)

	go func() {
		fmt.Println("Hello from thread 1")
		wg.Done()
	}()

	go func() {
		fmt.Println("Hello from thread 2")
		wg.Done()
	}()

	wg.Wait()
}

运行结果:

Hello from thread 1
Hello from thread 2

解释:

  • sync.WaitGroup 是一个用于管理并行任务的结构。
  • wg.Add(2) 创建了 2 个工作线程。
  • go func() 函数使用 wg.Add() 方法添加它们到等待队列中。
  • 每个线程调用 wg.Done() 方法,表示它已经完成其任务并退出等待队列。
  • wg.Wait() 方法等待所有线程完成,直到所有任务都完成。

注意:

  • 在使用多线程编程之前,请确保您了解并发编程的基本概念。
  • 使用 sync.WaitGroup 时,请确保您的代码是安全的。
  • 确保您的应用程序有足够的资源来处理并发请求。
相似内容
更多>