#文件描述符 #文件锁 #锁文件 #文件 #锁定 #fd #文件IO

fd-lock

使用文件描述符在文件上执行咨询式跨平台锁定

21 个稳定版本 (3 个主要版本)

4.0.2 2023年12月29日
4.0.0 2023年6月30日
3.0.13 2023年6月29日
3.0.11 2023年3月29日
1.1.0 2019年6月28日

#13文件系统

Download history 135700/week @ 2024-04-07 155973/week @ 2024-04-14 161210/week @ 2024-04-21 148608/week @ 2024-04-28 147717/week @ 2024-05-05 168494/week @ 2024-05-12 154404/week @ 2024-05-19 149800/week @ 2024-05-26 154905/week @ 2024-06-02 152657/week @ 2024-06-09 154920/week @ 2024-06-16 159855/week @ 2024-06-23 139495/week @ 2024-06-30 154490/week @ 2024-07-07 159043/week @ 2024-07-14 162899/week @ 2024-07-21

每月下载量 626,991
用于 373 个 Crates (直接使用 34 个)

MIT/Apache

25KB
503 代码行

fd-lock

crates.io version downloads docs.rs docs

使用文件描述符进行咨询式跨平台文件锁定。改编自 mafintosh/fd-lock

请注意,咨询式锁定遵守是可选的,并且可以由其他方自由忽略。这意味着这个 crate 绝不应该用于安全目的,而仅用于协调文件访问。

示例

基本用法

use std::io::prelude::*;
use std::fs::File;
use fd_lock::RwLock;

// Lock a file and write to it.
let mut f = RwLock::new(File::open("foo.txt")?);
write!(f.write()?, "chashu cat")?;

// A lock can also be held across multiple operations.
let mut f = f.write()?;
write!(f, "nori cat")?;
write!(f, "bird!")?;

安装

$ cargo add fd-lock

安全性

此 crate 在 Windows 上使用 unsafewindows-sys 进行接口。所有断言都已仔细检查,并手动强制执行。

贡献

想要加入我们吗?查看我们的 "贡献" 指南 并查看一些这些问题

参考文献

许可证

MITApache-2.0

依赖项

~1–12MB
~132K SLoC