From 61d709c211132adcc5158ded77c17d690ad5f8da Mon Sep 17 00:00:00 2001 From: Mica White Date: Sun, 10 Mar 2024 11:08:50 -0400 Subject: OwnedLockable --- examples/double_mutex.rs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'examples/double_mutex.rs') diff --git a/examples/double_mutex.rs b/examples/double_mutex.rs index df11b7a..320f461 100644 --- a/examples/double_mutex.rs +++ b/examples/double_mutex.rs @@ -4,16 +4,14 @@ use happylock::{LockCollection, Mutex, ThreadKey}; const N: usize = 10; -static DATA_1: Mutex = Mutex::new(0); -static DATA_2: Mutex = Mutex::new(String::new()); +static DATA: (Mutex, Mutex) = (Mutex::new(0), Mutex::new(String::new())); fn main() { let mut threads = Vec::new(); for _ in 0..N { let th = thread::spawn(move || { let key = ThreadKey::lock().unwrap(); - let data = (&DATA_1, &DATA_2); - let lock = LockCollection::new(data).unwrap(); + let lock = LockCollection::new_ref(&DATA); let mut guard = lock.lock(key); *guard.1 = (100 - *guard.0).to_string(); *guard.0 += 1; @@ -26,8 +24,7 @@ fn main() { } let key = ThreadKey::lock().unwrap(); - let data = (&DATA_1, &DATA_2); - let data = LockCollection::new(data).unwrap(); + let data = LockCollection::new_ref(&DATA); let data = data.lock(key); println!("{}", *data.0); println!("{}", *data.1); -- cgit v1.2.3