用途:面向 Rust 并发与异步编程的专家型技能,帮助在 CPU 密集与 I/O 密集场景间做出选型,并处理线程安全、共享状态与死锁问题。
主要能力:区分并发(线程)与异步(async/await)的适用场景;解释 Send/Sync 规则(如 Rc 非 Send、RefCell 非 Sync、MutexGuard 非 Sync);给出共享可变状态(Arc<Mutex<T>>)、消息传递(mpsc)、异步运行时(tokio)等模式;提供死锁预防规则(一致加锁顺序、缩小锁范围、避免跨 await 持锁);列出常见错误(E0277、死锁、跨 await 持锁、数据竞争)及修复方式;包含性能权衡(细粒度锁、RwLock、原子类型、无锁结构)与异步模式(tokio::spawn、join!、select!、timeout)。
使用方式:按工作流先选并发模型,再定数据共享策略,最后验证线程安全。验证命令保持原样:cargo check;RUSTFLAGS="-Z sanitizer=thread" cargo +nightly test;cargo +nightly miri test;cargo test --features loom;cargo clippy -- -W clippy::mutex_atomic。
适用场景:多线程共享数据、线程间通信、网络或文件系统 I/O 并发、异步任务编排与超时取消。
限制:部分验证命令需 nightly 工具链;异步需运行时并存在函数着色问题;锁竞争、消息拷贝与无锁结构复杂度需权衡;资料未提供具体版本、性能数据或收费信息。