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

shuttle

> 编程语言
开源

Shuttle 是一个用于测试并发 Rust 代码的库

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

工具介绍

Shuttle 是一个用于测试并发 Rust 代码的库

Shuttle Shuttle 是一个用于测试并发 Rust 代码的库。它实现了一系列随机并发测试技术,包括 具有概率保证的随机调度器,可找到错误。 此仓库还包含了一系列封装器和它们的实现。这些封装器使得使用常用库(如 tokio 和 rand)以及来自 std::sync 的同步原语和来自 std::collections 的集合更加容易。有关如何使用这些封装器的详细信息,请参阅 封装器/README.md。

这里存在明显的竞态条件:如果已生成的线程在断言之前运行,则断言将失败。但是编写能够发现这种执行的单元测试是很棘手的。我们可以多次运行测试,并尝试通过找到失败的执行来"取得幸运",但这不是一个非常可靠的测试方法。即使测试失败了,也很难进行调试:我们无法在调试器中轻松捕获失败,而且每次我们做出更改时,都需要多次运行测试来确定是否解决了问题。

Shuttle 避免了这个问题,通过控制程序中每个线程的调度,并随机调度这些线程。通过控制调度,Shuttle 允许我们确定性地重现失败的测试。通过使用随机调度,结合适当的启发式算法,Shuttle 仍然可以捕获大多数(非对抗性)的并发错误,尽管它不是一个详尽的检查器。

Issues· 0 开放

查看全部 Issues在 GitHub 打开

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

> 标签

Rust

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

> 工具信息

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

> 相关工具

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