简易的生产者消费模型,通过管道【也可以理解为队列】,管道是先进先出,主要是理解chan
生产者使用make将chan初始化,并且设置chan长度,如果不设置,生产者就写入不了通道
go 是使用线程开始,并且使用多核(这个感觉会比python好)
欢迎大家一起指导学习
|
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
|
package mainimport ( "fmt" "time")var Foo chan stringfunc main() { Foo = make(chan string,10) go makefoo() go eatFoo() time.Sleep(time.Hour)}func makefoo() { i := 0 for{ i ++ foo := fmt.Sprintf("包子%d号",i) Foo <- foo fmt.Println("Alex生产驴肉馅的",foo) time.Sleep(time.Second * 1) }}func eatFoo() { for{ data := <- Foo fmt.Println("瞎驴吃了:",data) time.Sleep(time.Second * 3) } |
浙公网安备 33010602011771号