当前位置:   article > 正文

chatGPT生成代码--go启动多线程_go chatgpt生成代码

go chatgpt生成代码

提问:用golang写一个启动函数 createTask(names[]string), 函数功能:启动n个线程,线程数为names的长度,线程名称为names的值,需要等待所有线程启动完成后才执行函数返回

代码:以下是一个使用Golang编写的 createTask 函数,它会启动与names切片中的名称数量相等的goroutine,并等待它们全部启动完成后才会返回:

  1. package main
  2. import (
  3. "fmt"
  4. "sync"
  5. )
  6. func createTask(names []string) {
  7. var wg sync.WaitGroup
  8. for _, name := range names {
  9. wg.Add(1)
  10. go func(n string) {
  11. defer wg.Done()
  12. fmt.Printf("线程 %s 启动\n", n)
  13. // 在这里可以执行线程需要做的工作
  14. }(name)
  15. }
  16. wg.Wait() // 等待所有线程完成
  17. fmt.Println("所有线程已启动完成,函数返回")
  18. }
  19. func main() {
  20. names := []string{"Thread1", "Thread2", "Thread3"}
  21. createTask(names)
  22. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/674651
推荐阅读
相关标签
  

闽ICP备14008679号