2015-04-14 57 views
4

我有一堆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,所以我可以得到一個現成設置它們的?

回答

1

這樣做有它的許多方面,我可能會剛成立另一個(異步)通道,使工作線程只要是空閒的也送他們發送回來......

while let Ok(sender) = sync_senders.recv() { 
    ... 
} 

但是爲什麼你想要那樣做?也許multiple-consumer channel更適合您的目的?

相關問題