#环形缓冲区 #缓冲区 #环形 #魔法 #虚拟 #单消费者 #镜像

nightly magic-ring-buffer

一种魔法环形缓冲区(也称为虚拟环形缓冲区,VRB,或镜像缓冲区),对多个生产者和单个消费者实现无锁操作

1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2019年2月2日

#17 in #单消费者


message-dispatch 中使用

MIT 许可证

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