文件名称:parking_lot:用于Rust的紧凑高效的同步原语。 还提供了用于创建自定义同步原语的API
文件大小:128KB
文件格式:ZIP
更新时间:2024-06-01 11:13:42
Rust
停车场 该库提供了Mutex , RwLock , Condvar和Once ,这些实现比Rust标准库中的实现更小,更快,更灵活,还提供了支持递归锁定的ReentrantMutex类型。 它还公开了用于创建您自己的有效同步原语的低级API。 在x86_64 Linux上进行测试时,发现parking_lot::Mutex速度比std::sync::Mutex速度快1.5倍,而在多线程竞争时,速度最高可快5倍。 RwLock的数字取决于读取器和写入器线程的数量,但几乎总是比标准库RwLock快,在某些情况下甚至快50倍。 特征 与Rust标准库相比,该库提供的原语具有多个优点: Mutex和Once仅需要1个字节的存储空间,而Condvar和RwLock仅需要1个字的存储空间。 另一方面,标准库原语需要动态分配的Box来保存特定于OS的同步原语。 Mutex的小尺寸特别鼓励使用细粒度
【文件预览】:
parking_lot-master
----.gitignore(18B)
----core()
--------src()
--------Cargo.toml(979B)
--------LICENSE-MIT(1KB)
--------LICENSE-APACHE(11KB)
----src()
--------remutex.rs(5KB)
--------mutex.rs(10KB)
--------raw_mutex.rs(12KB)
--------raw_fair_mutex.rs(2KB)
--------condvar.rs(35KB)
--------util.rs(1017B)
--------rwlock.rs(18KB)
--------once.rs(14KB)
--------deadlock.rs(6KB)
--------elision.rs(4KB)
--------raw_rwlock.rs(37KB)
--------lib.rs(2KB)
--------fair_mutex.rs(9KB)
----CHANGELOG.md(6KB)
----Cargo.toml(977B)
----.github()
--------workflows()
----LICENSE-MIT(1KB)
----README.md(7KB)
----tests()
--------issue_203.rs(380B)
----bors.toml(61B)
----benchmark()
--------src()
--------Cargo.toml(488B)
----lock_api()
--------src()
--------Cargo.toml(825B)
--------LICENSE-MIT(1KB)
--------LICENSE-APACHE(11KB)
----LICENSE-APACHE(11KB)