最近在练习并发编程。加上最近也在用Golang写代码,所以记录一下练习的题目。
文章来源地址https://www.toymoban.com/news/detail-782552.html
第一道题目是用10个协程打印100条信息,创建10个协程。每个协程都会有自己的编号。每个协程都会被打印10次。
文章来源:https://www.toymoban.com/news/detail-782552.html
package main
import (
"fmt"
"strconv"
)
func main() {
ch := make(chan string, 10)
for i := 0; i < 10; i++ {
go func(i int) {
for j := 0; j < 10; j++ {
ch <- "Goroutine : " + strconv.Itoa(i)
}
}(i)
}
for k := 1; k <= 100; k++ {
i := <-ch
fmt.Println(k, i)
}
}
本题的关键是:
创建goroutines:通过for i := 0; i < 10; i++
循环,创建了10个goroutines。每次循环迭代都会启动一个新的goroutine。
输出:
到了这里,关于001 Golang-channel-practice的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!