我有一堆SyncSenders。我希望得到一个"准备发送"集。
目前我正在这样做:
for c in data {
loop {
for tx in sync_senders {
if let Ok(_) = tx.try_send(c) {
do something;
...
}
}
until some sends are success, break
}
}
有没有办法在SyncSenders上进行多路复用,所以我可以准备好它们吗?
答案 0 :(得分:1)
有很多方法可以做到这一点,我可能只是建立另一个(异步)通道,并让工作线程在它们空闲时立即发送回发送者......
while let Ok(sender) = sync_senders.recv() {
...
}
但你为什么要那样做呢?也许multiple-consumer channel更适合您的目的?