2016-06-01 127 views
0

想象我有一個發送器和通過信道連接的接收器的任意數量。當發送者完成後,關閉該頻道,所有接收者都會收到通知。到現在爲止還挺好。關閉golang通道

現在想象一下,發送者希望接收器以兩種不同的方式,比如,「立即關閉」和「第一完成你在做什麼,然後關閉」完成。爲了達到這個目的,它必須在關閉時向所有接收機廣播兩個不同的值(NOW對LATER)。

什麼是Go-idiomatic方式來做到這一點?

回答

2

個人而言,我會使用兩個通道的信號關機:https://play.golang.org/p/5erPW1tFXp

+0

所以每< - 在工人將不得不由3路選擇,正確的更換? –

+0

是的,如果您有一個或多個額外的渠道提供值的工作。 –