Guest User

Untitled

a guest
Jan 20th, 2019
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.69 KB | None | 0 0
  1. use std::thread;
  2. use std::time::Duration;
  3. use crossbeam; // 0.6.0
  4.  
  5. fn main() {
  6. let handles = (0..2).map(|worker_id| {
  7. eprintln!("Spawning worker {}", worker_id);
  8. let handle = thread::spawn(move || {
  9. eprintln!("Worker {} is running", worker_id);
  10. for _ in 0..5 {
  11. thread::sleep(Duration::from_millis(10));
  12. eprintln!("Worker {} did some work", worker_id);
  13. }
  14. });
  15. eprintln!("Worker {} has spawned", worker_id);
  16. handle
  17. });
  18.  
  19. thread::sleep(Duration::from_secs(1));
  20.  
  21. eprintln!("Joining workers from the main thread");
  22. for handle in handles.rev() {
  23. handle.join().unwrap();
  24. }
  25. }
Add Comment
Please, Sign In to add comment