Go语言协程并发---生产者消费者实例
2021-02-08 21:15
标签:watch int 通知 false func now() == 结束 bag Go语言协程并发---生产者消费者实例 标签:watch int 通知 false func now() == 结束 bag 原文地址:https://www.cnblogs.com/yunweiqiang/p/12769670.htmlpackage main
import (
"fmt"
"strconv"
"time"
)
/*
改进生产者消费者模型
·生产者每秒生产一件商品,并通知物流公司取货
·物流公司将商品运输到商店
·消费者阻塞等待从商店消费
·消费10轮就主协程结束
·尝试在整分钟时通知生产者罢工,生产者罢工时主协程结束
·计时协程,不断地查看有没有到整分钟
·如果到整分钟,将【全局罢工变量】置为true
·生产者每完成一轮生产就查看【全局罢工变量】,如果为true就向【chGoDie】写入值
*/
type Product struct {
Name string
}
var chGoDie = make(chan interface{})
func main() {
chStorage := make(chan Product, 5)
chShop:= make(chan Product, 5)
go Producer(chStorage)
go Logistics(chStorage, chShop)
go Consumer(chShop)
go Watcher()
//阻塞等待狗带命令
下一篇:实现排序取前几条数据
文章标题:Go语言协程并发---生产者消费者实例
文章链接:http://soscw.com/index.php/essay/52802.html