<分区>
我知道一旦从 channel 获取数据,数据就不会从该 channel 正在等待的任何其他地方接收。但是,如果我想设计一个节目广播, channel 有数据,准备在不影响其他 channel 的情况下在不同地方取出,但在所有地方,我需要以相同的顺序接收数据,最好的设计是什么?
举个例子:
func sender(c chan int){
c-> 5
}
func reciever1(c chan int){
i:= <-c
...
}
func reciever2(c chan int){
i:= <-c
...
}
这里当同时执行 reciever1()
和 reciver2()
时,两者应该得到相同的结果。