No description
Find a file
2022-01-25 09:20:51 +01:00
src awesomeness 2022-01-25 09:17:22 +01:00
.gitignore yeah what a great idea 2022-01-25 09:17:22 +01:00
Cargo.lock yeah what a great idea 2022-01-25 09:17:22 +01:00
Cargo.toml metadata 2022-01-25 09:20:51 +01:00
LICENSE Initial commit 2022-01-25 09:16:38 +01:00
README.md awesomeness 2022-01-25 09:17:22 +01:00

pythonic_global_lock

This crate provides a GLock<T>, that is globally locked. Every GLock<T> uses the same global lock, so locking on will lock all. Sounds like a dumb idea? One of the most popular programming implementations does it, so it must be smart.

fn main() {
    let lock1 = pythonic_global_lock::GLock::new(1);
    let lock2 = pythonic_global_lock::GLock::new(2);

    {
        let locked1 = lock1.lock();
        println!("{}", &*locked1)
        // locking lock2 here would be a deadlock
    }
}