Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use std::sync::{
- atomic::{AtomicUsize, Ordering},
- Arc,
- };
- use std::thread::spawn;
- fn main() {
- let x1 = Arc::new(AtomicUsize::new(0));
- let x2 = x1.clone();
- let t1 = spawn(move || {
- x1.store(1, Ordering::Relaxed);
- x1.store(2, Ordering::Relaxed);
- });
- let t2 = spawn(move || {
- loop {
- match x2.load(Ordering::Relaxed) {
- 1 => {println!("1");break;},
- 2 => {println!("2");break;},
- }
- }
- });
- t2.join().unwrap();
- t1.join().unwrap();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement