summaryrefslogtreecommitdiff
path: root/examples/double_mutex.rs
diff options
context:
space:
mode:
Diffstat (limited to 'examples/double_mutex.rs')
-rw-r--r--examples/double_mutex.rs14
1 files changed, 7 insertions, 7 deletions
diff --git a/examples/double_mutex.rs b/examples/double_mutex.rs
index 76f3294..033bfed 100644
--- a/examples/double_mutex.rs
+++ b/examples/double_mutex.rs
@@ -1,27 +1,27 @@
use std::thread;
-use happylock::mutex::Mutex;
+use happylock::mutex::{Mutex, SpinLock};
use happylock::{LockGuard, ThreadKey};
const N: usize = 10;
-static DATA_1: Mutex<i32> = Mutex::new(0);
-static DATA_2: Mutex<String> = Mutex::new(String::new());
+static DATA_1: SpinLock<i32> = Mutex::new(0);
+static DATA_2: SpinLock<String> = Mutex::new(String::new());
fn main() {
for _ in 0..N {
thread::spawn(move || {
- let key = ThreadKey::lock().unwrap();
+ let mut key = ThreadKey::lock().unwrap();
let data = (&DATA_1, &DATA_2);
- let mut guard = LockGuard::lock(&data, key);
+ let mut guard = LockGuard::lock(&data, &mut key);
*guard.1 = (100 - *guard.0).to_string();
*guard.0 += 1;
});
}
- let key = ThreadKey::lock().unwrap();
+ let mut key = ThreadKey::lock().unwrap();
let data = (&DATA_1, &DATA_2);
- let data = LockGuard::lock(&data, key);
+ let data = LockGuard::lock(&data, &mut key);
println!("{}", *data.0);
println!("{}", *data.1);
}