sync_threads/
sync_threads.rs1use std::time::{Duration, Instant};
2
3use minuteurs::Deadline;
4
5fn main() {
8 let mut deadline = Deadline::repeat(Duration::from_secs(1));
9 let now = Instant::now();
10
11 let thread1 = std::thread::spawn(move || {
12 for _ in 0..10 {
13 deadline.wait();
14 let elapsed = now.elapsed();
15 println!("thread1 ticked at {elapsed:?}",)
16 }
17 });
18
19 let thread2 = std::thread::spawn(move || {
20 for _ in 0..10 {
21 deadline.wait();
22 let elapsed = now.elapsed();
23 println!("thread2 ticked at {elapsed:?}",)
24 }
25 });
26
27 let _ = thread1.join();
28 let _ = thread2.join();
29}