Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use std::sync::Mutex;
- fn main() {
- let mutex_a = Mutex::new(());
- let mutex_b = Mutex::new(());
- let waiting_time = 1000;
- crossbeam::scope(|s| {
- s.spawn(|_| {
- let b = mutex_b.lock().unwrap();
- std::thread::sleep(std::time::Duration::from_millis(waiting_time));
- let a = mutex_a.lock().unwrap();
- });
- s.spawn(|_| {
- let a = mutex_a.lock().unwrap();
- std::thread::sleep(std::time::Duration::from_millis(waiting_time));
- let b = mutex_b.lock().unwrap();
- });
- std::thread::sleep(std::time::Duration::from_millis(waiting_time));
- let a = mutex_a.lock().unwrap();
- let b = mutex_b.lock().unwrap();
- }).unwrap();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement