【问题标题】:Close golang channel with multiple values关闭具有多个值的 golang 通道
【发布时间】:2016-06-01 15:12:11
【问题描述】:

假设我有一个发送者和任意数量的接收者通过一个通道连接。当发送者完成它关闭通道并通知所有接收者。到目前为止一切顺利。

现在假设发送者希望接收者以两种不同的方式完成,比如“立即关闭”和“先完成你正在做的事情,然后关闭”。为了实现这一点,它必须在关闭时向所有接收器广播两个不同的值(现在与以后)。

Go 的惯用方式是什么?

【问题讨论】:

    标签: go broadcast shutdown channel


    【解决方案1】:

    我个人会使用两个通道来表示关机:https://play.golang.org/p/5erPW1tFXp

    【讨论】:

    • 所以工人中的每个
    • 是的,如果您有一个或多个额外的渠道可以提供价值。