#arc-mutex #mutex #arc

with_lock_auto

一个简单的工具,可以轻松安全地访问 arc-mutex 而不

1 个稳定版本

1.0.0 2023年6月30日

#1146 in 开发工具

MIT 协议

4KB
51

rust_with_lock_auto

一个简单的锁定库,允许您轻松安全地访问 Arc 指针的内部

为每个 Arc 添加以下方法(因此得名 'auto')

mutex.with_lock(|data| {
    // do stuff
});

// this is the same but uses try_lock instead of lock().unwrap()
mutex.with_lock_try(|data| {
    // do stuff
});

闭包也可以返回任何类型

您也可以简单地通过以下方式克隆内部值

let inner_value_clone = mutex.get_clone(); // if you're sure you can lock the mutex

let inner_value_clone_optional = mutex.try_get_clone(); // if you want an option that's none when the mutex can't be locked (uses try_lock internally)

但内部值当然需要实现 Clone

不引入新类型,适用于所有现有的 Arc 和 Weak

无运行时依赖