Go语言协程并发---生产者消费者实例

2021-02-08 21:15

阅读:435

标签:watch   int   通知   false   func   now()   ==   结束   bag   

package 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语言协程并发---生产者消费者实例

标签:watch   int   通知   false   func   now()   ==   结束   bag   

原文地址:https://www.cnblogs.com/yunweiqiang/p/12769670.html


评论


亲,登录后才可以留言!