go 的并发运行比想象的要简单很多,在要运行的语句前面加上 go就可以了
1 2 3 4 5 6
| go func() { }() go func() { }()
|
网上找的方法还未实验
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| package main
import ( "fmt" )
func main() { ConcurrentWork(5, func() { fmt.Println("https://blog.csdn.net/LitongZero") }) }
func ConcurrentWork(total int, work func()) {
c := make(chan int)
for i := 0; i <= total; i++ { go doMyWork(i, c, work) }
for i := 0; i <= total; i++ { fmt.Printf("第 %d 项执行完毕\n", <-c) } }
func doMyWork(i int, page chan int,work func()) { fmt.Printf("第 %d 项正在执行\n", i) work() page <- i }
|