Rust 并发安全
SkillDev tools设计、修改、调试或审查 TGOSKits 中的锁、原子操作、任务调度、异步执行、中断上下文、跨核通知、共享状态或资源生命周期时使用。只读数据结构或明确单线程代码不触发本技能。
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Rust 并发安全 skill
What this skill tells your AI
The instructions your AI receives, as published by rcore-os/tgoskits in .agents/skills/rust-concurrency-safety/SKILL.md and read by ahel’s review.
1. 适用方式
只要正确性依赖两个以上执行上下文之间的顺序、可见性或资源生命周期,就使用本技能。执行上下文包括任务、线程、处理器、中断、软中断、异步任务、设备和客户机虚拟处理器。
锁、临界区、回调和生命周期问题完整阅读 锁与生命周期。原子操作、内存顺序、无锁状态、异步执行或取消问题完整阅读 原子操作与异步执行。同一改动可以同时读取两份资料。
2. 分析顺序
先列出共享对象、所有者、所有读写执行上下文和允许的状态转换,再确定同步原语。优先级依次是不共享、通过消息转移所有权、共享不可变 Arc、使用保护明确不变量的锁、使用能够独立证明的原子状态,最后才是需要手工健全性证明的非安全共享。不要从“换一把更快的锁”或“把内存顺序调强”开始;必须说明发布者、观察者、保护对象、等待条件和释放路径。
公共类型跨执行上下文移动或共享时,检查其全部字段和生命周期是否正确满足 Send 或 Sync;不能因为外层包了 Arc 就假定内部状态可并发访问。涉及 unsafe impl Send、unsafe impl Sync、裸指针、直接内存访问或设备共享内存时,同时使用 rust-unsafe-safety。任务调度和跨核通知仍需结合实际子系统与平台技能判断。
3. 验收条件
实现和审查结果必须能够回答:每个状态由谁写入、由谁观察、依靠哪条同步边建立先后关系、等待如何被唤醒、取消或失败如何释放资源、是否存在丢失唤醒、重复完成、死锁、陈旧标识符或释放后访问。测试应确定性覆盖关键交错,而不是依赖长时间压力运行碰巧触发。
Signals
- GitHub stars
- 67
- Forks
- 133
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
rust-concurrency-safety- Source
- github.com/rcore-os/tgoskits