题目序号:(1105)
题目来源:字节跳动
频次: 1
答案:(Zbbxd)
package main
import (
"fmt"
"time"
)
var num = 100
func goroutine1(p chan int) {
for i := 1; i <= num; i++ {
p <- i
if i%2 == 1 {
fmt.Println("goroutine-1:", i)
}
}
}
func goroutine2(p chan int) {
for i := 1; i <= num; i++ {
<-p
if i%2 == 0 {
fmt.Println("goroutine-2:", i)
}
}
}
func main() {
msg := make(chan int)
go goroutine1(msg)
go goroutine2(msg)
time.Sleep(time.Second * 1)
}
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
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