多工围棋程序

时间:2018-12-26 06:27:26

标签: multithreading go

我有一个简单的程序,它将生成随机的字符串和数字,并将其以特定的格式放置:

输出: A=SKEK673KJK B=67235 C=PDCNE39JSWL

我有4个函子,包括main:

func genRandInt() string {
  //return string(randInt)
}

func genRandStr() string {
  //return (randStr)
}

func genFakeData() string {
  fmt.Println("A=" + genRanStr() + genRandInt().....etc)
}

func main() {
  genFackeData()
}

到目前为止,该程序运行正常,为了通过大量运行该程序,我正在通过bash循环执行该程序,以在服务器上生成大量流量,但是我无法按预期到达生成的数据,这是什么呢?我需要在许多工作人员(例如50个工作人员)中运行genFackeData(),才能在GO中实现这一目标?

  

(顺便说一下,这是我程序的非常简单的版本,   复杂,我已经写了我所需的简单示例)

1 个答案:

答案 0 :(得分:0)

如果我正确理解了您的愿望,请尝试在这里https://play.golang.org/p/q_r8PATh6_U

package main

import (
    "fmt"
    "sync"
)

func genFakeData(wg *sync.WaitGroup, i int) {
  fmt.Println("A =",i + 1)
  wg.Done()
}

func main() {
   var wg sync.WaitGroup
   for i:=0 ; i<50 ; i++ {
    wg.Add(1)
    go genFakeData(&wg, i)
   }
   wg.Wait()
}