2 个版本

0.1.1 2023年7月4日
0.1.0 2023年6月30日

#4 in #cheaply

MIT 许可证

7KB
134 代码行,不包括注释

arbitrary-lock

对任意键(如字符串或整数)进行锁定。

用法

将依赖项添加到您的项目中

cargo add arbitrary-lock

使用结构体

// This can be cheaply cloned.
// The key must be Hash + Eq + Clone.
// Provide your preferred lock type as the second generic argument. It must implement Default.
let locker = ArbitraryLock::<String, tokio::sync::Mutex<()>>::new();
{
  let _l = locker.get("user:2185724".to_string()).lock().await;
  do_something_in_database().await;
};

依赖项

~1.6–7MB
~33K SLoC