Goroutine 练习题
题目: 使用 goroutine 和 channel 实现一个计算int64随机数各位数和的程序,例如生成随机数61345,计算其每个位数上的数字之和为19。 开启一个 goroutine 循环生成int64类型的随机数,发送到 jobChan 开启24个 goroutine 从jobChan中取出随机数计算各位数的和,将结果发送到resultChan 主 goroutine 从resultChan取出结果并打印到终端输出 题目来源: 李文周blog package main import ( "fmt" "math/rand" "runtime" "time" ) func main() { numChan := make(chan int, 24) resChan := make(chan int) for i := 0; i < 24; i++ { go func() { for num := range numChan { if check19(num) { resChan <- num break } } }() } FOR: for { select { case res := <-resChan: fmt.
Recent Posts
Tags
- apache 4
- axios 1
- benchmark 1
- c 1
- canvas 1
- centos 3
- channel 1
- crontab 1
- css 2
- docker 4
- fail2ban 1
- frp 1
- gin 1
- github 1
- go 26
- goaccess 1
- goroutine 1
- http 1
- https 1
- jetbrains 1
- jquery 1
- js 2
- linux 20
- mermaid 1
- mysql 10
- nginx 3
- node 1
- php 43
- prisma 1
- react 8
- server 1
- ssh 2
- tarojs 1
- tcp/ip 1
- token 1
- ubuntu 1
- ufw 1
- unit-test 1
- vmware 1
- vscode 1
- vue 12
- yum 1
- 域名 3
- 安全 2
- 微信 3
- 算法 3