1 个不稳定版本
使用旧的 Rust 2015
0.1.0 | 2019年2月2日 |
---|
#17 in #单消费者
在 message-dispatch 中使用
33KB
617 代码行
magic-ring-buffer
magic-ring-buffer 是一个 Rust 包,提供了一种魔法环形缓冲区(也称为虚拟环形缓冲区,VRB,或镜像缓冲区),它对多个生产者和单个消费者实现无锁操作。
魔法环形缓冲区允许环形缓冲区实现“环绕”,而无需使用两个独立的读取或两个独立的写入;它利用虚拟内存不需要使用连续的物理内存来实现的事实。
当前设计仅在类 Linux 系统上工作,因为它依赖于在 /dev/shm
中映射文件。
应该可以制作出可在 Mac OS X、BSD 和 Windows 上工作的实现。
许可
本项目的许可证为 MIT。
lib.rs
:
#magic-ring-buffer
这是一个 Rust 包,提供了一种魔法环形缓冲区(也称为虚拟环形缓冲区,VRB,或镜像缓冲区),它对多个生产者和单个消费者实现无锁操作。
魔法环形缓冲区允许环形缓冲区实现“环绕”,而无需使用两个独立的读取或两个独立的写入;它利用虚拟内存不需要使用连续的物理内存来实现的事实。
当前实现仅在 Android 和 Linux 上工作,因为它依赖于在 /dev/shm
中映射匿名共享内存。应该可以制作出可在 Mac OS X、BSD 和 Windows 上工作的实现。
依赖关系
~0–0.8MB
~13K SLoC