13 unstable releases

0.7.1 Dec 7, 2022
0.7.0 Nov 19, 2021
0.6.0 Sep 7, 2020
0.5.0 Nov 4, 2019
0.3.0 Jun 28, 2018

#42 in Asynchronous

Download history 34702/week @ 2023-12-13 27368/week @ 2023-12-20 20571/week @ 2023-12-27 34529/week @ 2024-01-03 41203/week @ 2024-01-10 44173/week @ 2024-01-17 44893/week @ 2024-01-24 55063/week @ 2024-01-31 48774/week @ 2024-02-07 45287/week @ 2024-02-14 43851/week @ 2024-02-21 40477/week @ 2024-02-28 40157/week @ 2024-03-06 44000/week @ 2024-03-13 42168/week @ 2024-03-20 32534/week @ 2024-03-27

165,883 downloads per month
Used in 202 crates (18 directly)

MIT/Apache

43KB
656 lines

futures-locks

A library of Futures-aware locking primitives. These locks can safely be used in asynchronous environments like Tokio. When they block, they'll only block a single task, not the entire reactor.

Build Status CodeCov.io

# Cargo.toml
[dependencies]
futures = "0.3.1"
futures-locks = "0.6"

Usage

Generally, the provided primitives work much like their counterparts from the standard library. But instead of blocking until ready, they return Futures which will become ready when the lock is acquired. See the doc comments for individual examples.

futures-locks requires Rust 1.49.0 or higher.

License

futures-locks is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE, and LICENSE-MIT for details

Dependencies

~2–3MB
~48K SLoC