Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use rand::{thread_rng, Rng};
- use std::sync::mpsc;
- fn main() {
- let (tx, rx) = mpsc::channel();
- for (work_id, tx) in std::iter::repeat(tx).take(25).enumerate() {
- std::thread::spawn(move || {
- let work_time_ms = thread_rng().gen_range(0, 500);
- std::thread::sleep(std::time::Duration::from_millis(work_time_ms));
- tx.send(work_id)
- });
- }
- while let Ok(work_id) = rx.recv() {
- println!("Work {} done", work_id)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement