1 个不稳定版本

0.1.0 2022年12月22日

#1200并发 分类中

Download history • Rust 包仓库 178/week @ 2024-03-11 • Rust 包仓库 91/week @ 2024-03-18 • Rust 包仓库 71/week @ 2024-04-01 • Rust 包仓库 40/week @ 2024-04-08 • Rust 包仓库 53/week @ 2024-04-15 • Rust 包仓库 25/week @ 2024-04-22 • Rust 包仓库 10/week @ 2024-04-29 • Rust 包仓库 13/week @ 2024-05-06 • Rust 包仓库 15/week @ 2024-05-13 • Rust 包仓库 34/week @ 2024-05-20 • Rust 包仓库 15/week @ 2024-05-27 • Rust 包仓库 14/week @ 2024-06-03 • Rust 包仓库 7/week @ 2024-06-10 • Rust 包仓库 18/week @ 2024-06-17 • Rust 包仓库 29/week @ 2024-06-24 • Rust 包仓库

每月 69 次下载

MIT 许可证

7KB
105

KeyLock

crates.io page docs.rs page license: MIT

基于键的简单互斥库。通过键进行锁定和等待执行。

用法

使用以下命令导入项目

cargo add key-lock

示例

use key_lock::KeyLock;

#[tokio::main]
async fn main() {
    // Initialize new lock.
    let lock = KeyLock::new();
    // Lock A, continues immediately.
    let _a = lock.lock("a").await;
    // Lock B, continues immediately.
    let _b = lock.lock("b").await;
    // Try to lock A, but it is already locked. Normal locking would block here.
    assert!(lock.try_lock("a").await.is_err());
}

代码风格检查

本项目使用许多clippy代码风格检查以提升代码质量和风格。

使用 cargo-lints 安装 cargo install --git https://github.com/FlixCoder/cargo-lints。代码风格检查定义在 lints.toml 中,可以通过运行 cargo lints clippy --all-targets --workspace 进行检查。

依赖

~2–3MB
~47K SLoC