百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
D

disruptor-rs

> 编程语言
开源

Rust 中的低延迟线程间通信库受 LMAX Disruptor 的启发。

894 stars0 点赞1 次浏览
访问官网GitHub

工具介绍

Rust 中的低延迟线程间通信库受 LMAX Disruptor 的启发。

Disruptor

此库是一个低延迟、以 Rust 编写的多线程通信库。 它受到杰出的 来自 LMAX 的 Disruptor 库。 当您希望将 CPU 资源用于降低延迟和提高吞吐量时,可以使用它,例如与 Crossbeam 或 std::sync::mpsc 通道相比。

目录

  • 开始使用
  • 功能
  • 模式
  • 设计选择
  • 正确性
  • 性能
  • 相关工作
  • 使用者
  • 贡献
  • 路线图

开始使用

将以下内容添加到您的 Cargo.toml 文件中:

disruptor = "4.4.0" 要了解如何使用该库的详细信息,请查看 docs.rs/disruptor 的文档。

处理事件

处理事件有两种方式:

  1. 为 Disruptor 提供一个关闭机制,并让它管理处理线程。
  2. 使用 EventPoller API,可以轮询事件(并管理自己的线程)。 两者性能相似,因此请选择最适合您的使用场景的产品。 (另请参阅基准测试。)

使用受管线程的单个和批量发布

这里有一个最小的示例,演示了单个和批量发布。请注意,尽可能使用批量发布,以实现最佳延迟和吞吐量(请参阅下面的基准测试)。

…

将线程和依赖关系绑定到处理器之间

该库还支持在核心上锁定线程,以避免上下文切换引起的延迟。 一个更高级的用例可以展示这一点,并且包含多个生产者和多个相互依赖的消费者,如下所示:

…

具有状态的处理器

如果需要在处理线程中存储某些状态,而这些状态既不是 Send 也不是 Sync,例如 Rc,那么您可以创建一个闭包来初始化该状态,并在构建 Disruptor 时将其传递给处理闭包。Disruptor 将在每个事件中传递一个可变引用给您的状态。例如:

…

事件轮询

存储的替代方案

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Rust

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言