在两个golang频道之间实现隧道

时间:2016-05-20 16:56:36

标签: go channel

我正在尝试在两个go频道之间实现一个隧道(注意我很新)。我的goroutine看起来像这样:

consumer := ...
producer := ...
go func() {
    for jsn := range producer {
        msg, err := ops.FromJSON(jsn)
        if err != nil {
            log.Print(err)
            continue
        }
        consumer <- msg
    }
}()

这虽然似乎有一些问题。如何检查消费者是否已经关闭?如何解决从生产者那里获取消息并将其发送给消费者之间的竞争? ......也许还有其他人。

有人能提供两个频道之间隧道的好例子吗?

0 个答案:

没有答案