自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 Rust 线程安全基石:Send 与 Sync 背后的编译期契约

当所有权转移后,原始线程不能再访问该值,新线程成为唯一所有者。这天然地避免了两个线程同时访问同一数据的可能性。

2025-10-30 23:18:34 838

原创 Rust 线程安全保证:Send 与 Sync 的编译期契约

Send和Sync是 Rust 并发安全模型的基石。它们不是功能,而是编译期强制执行的安全契约。Send保证了所有权跨线程转移的安全性,而Sync保证了数据跨线程共享的安全性。这种设计将线程安全的负担从程序员的“自律”转移到了编译器的“审查”。正是通过这种严格的、在编译期验证的契约,Rust 才得以实现其“无畏并发”的承诺,让开发者能够自信地编写高效且没有数据竞争的并发代码。

2025-10-30 23:15:45 364

原创 Rust API 设计的灵魂:零成本抽象的实践与哲思

Rust的零成本抽象原则,是通过编译器(单态化、内联、迭代器融合)和语言设计(所有权、生命周期)的协同实现的。它允许API设计者摆脱“抽象 vs 性能”的传统困境。我们可以,也应该,去设计那些富有表现力、极度安全且符合人体工程学的API,因为我们有信心,Rust编译器会作为我们最强大的盟友,将这些高级抽象“编译掉”,留下纯粹的高性能机器码。💪✨。

2025-10-30 23:15:04 409

原创 Rust 代码审查清单:超越“编译通过”的深度思考

检查函数的错误返回类型。在应用程序和示例代码中是可接受的,它方便快捷。但在库代码中,这是一种糟糕的设计。它抹去了错误的具体类型,调用者无法以编程方式匹配(match)特定的错误并进行处理。专业的库应该使用thiserror或anyhow(后者在应用层更常见)来定义结构化的、可枚举的自定义错误类型(),为调用者提供完整的上下文。Rust 编译器是你的第一道防线,它保证了内存和线程安全。Clippy 是你的第二道防线,它保证了代码的惯用性。作为人类审查者,你是第三道,也是最重要的一道防线。

2025-10-30 23:14:33 337

原创 Rust unsafe 代码的安全使用准则:信任的边界与责任

unsafe关键字是 Rust 的“安全降落伞”,它允许我们在必要时打破规则,但代价是肩负起验证代码安全性的沉重责任。优秀的 Rust 工程师会将unsafe限制在极小的、高度封装的模块中,并使用详细的文档来明确其安全契约。这种克制地使用unsafe,最终成就了 Rust 既安全又高效的独特地位。

2025-10-30 23:13:19 379

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除