赞
踩
Go 中的生产者-消费者模式
来源:https://medium.com/@mm.nikfarjam/the-producer-consumer-pattern-in-go-cf97299a0320
生产者-消费者模式是处理大数据的最常见设计模式之一。它将数据处理任务分为两个独立的角色:生产者负责加载数据,消费者负责处理数据。这种模式的一些好处包括:
生产者-消费者模式有三个元素:
让我们从使用 Goroutine 和 Channels 创建消息并在控制台上打印的单个生产者-消费者开始。在 Go 中,这并不像听起来那么简单。
func main() { singleConsumerProducer() } func singleConsumerProducer() { // 创建一个用于生产者和消费者之间通信的通道 ch := make(chan string) // 在 Goroutine 中调用 simpleProducer() go simpleProducer(ch) // 在另一个 Goroutine 中调用 simpleConsumer() go simpleConsumer(ch) // 可选,关闭通道 close(ch) } func simpleProducer(ch chan string) { ch <- "生产者发送消息" } func simpleConsumer(ch chan string) { // 使用 select 块设置 1 秒超时 select { case msg :=
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。