go 语言之 生产者消费模型
简易的生产者消费模型,通过管道【也可以理解为队列】,管道是先进先出,主要是理解chan
生产者使用make将chan初始化,并且设置chan长度,如果不设置,生产者就写入不了通道
go 是使用线程开始,并且使用多核(这个感觉会比python好)
欢迎大家一起指导学习
package main
import (
"fmt"
"time"
)
var Foo chan string
func 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)
}
}
海瑞博客
From Hairui
转载请注明出处!谢谢

浙公网安备 33010602011771号