【发布时间】:2016-06-01 15:12:11
【问题描述】:
假设我有一个发送者和任意数量的接收者通过一个通道连接。当发送者完成它关闭通道并通知所有接收者。到目前为止一切顺利。
现在假设发送者希望接收者以两种不同的方式完成,比如“立即关闭”和“先完成你正在做的事情,然后关闭”。为了实现这一点,它必须在关闭时向所有接收器广播两个不同的值(现在与以后)。
Go 的惯用方式是什么?
【问题讨论】:
标签: go broadcast shutdown channel
假设我有一个发送者和任意数量的接收者通过一个通道连接。当发送者完成它关闭通道并通知所有接收者。到目前为止一切顺利。
现在假设发送者希望接收者以两种不同的方式完成,比如“立即关闭”和“先完成你正在做的事情,然后关闭”。为了实现这一点,它必须在关闭时向所有接收器广播两个不同的值(现在与以后)。
Go 的惯用方式是什么?
【问题讨论】:
标签: go broadcast shutdown channel
我个人会使用两个通道来表示关机:https://play.golang.org/p/5erPW1tFXp
【讨论】: