1 Star 0 Fork 1

JavH/GoLearning

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
main.go 796 Bytes
一键复制 编辑 原始数据 按行查看 历史
javhou 提交于 2023-06-28 02:00 . feature: balancer broadcast router
//package main
//
//import (
// "fmt"
// "sync/atomic"
//)
//
//func main() {
// a := int32(2147483647)
// l := []string{"k1", "k2", "k3"}
// atomic.AddInt32(&a, 1)
// fmt.Printf("a: %+v\n", a)
// fmt.Printf("a%%5: %+v\n", a%3)
// fmt.Printf("select :%s", l[a%3])
//}
package main
import (
"fmt"
"golang.org/x/sync/errgroup"
"math/rand"
"time"
)
func main() {
ch1 := make(chan int)
defer close(ch1)
//ch2 := make(chan int)
go func() {
for i := range ch1 {
fmt.Printf("receive: %d\n", i)
}
}()
time.Sleep(3)
var eg errgroup.Group
for i := 0; i < 3; i++ {
eg.Go(func() error {
time.Sleep(time.Duration(rand.Intn(2)))
select {
case ch1 <- i:
fmt.Println("send to ch1")
default:
fmt.Println("No data received")
}
return nil
})
}
_ = eg.Wait()
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/javh/go-learning.git
git@gitee.com:javh/go-learning.git
javh
go-learning
GoLearning
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385