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
转载请注明出处!谢谢