自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Rust 异步取消(Cancellation)策略:优雅终止的艺术

这种设计哲学体现了 Rust 的核心价值:提供零成本的构建块,而非臃肿的全能框架。创建的子令牌会在父令牌被取消时自动取消,但子令牌的取消不影响父令牌。当多个分支竞争时,未被选中的分支会被取消。这种设计带来了零成本抽象的优势,但也引入了一个微妙的问题:Rust 没有内建的结构化取消机制。点被取消后,不会留下不一致的状态或资源泄漏,就被认为是取消安全的。时,它就被取消了——这听起来简单,但实际上隐藏着复杂的语义和潜在的陷阱。对于不安全的操作,应该将其包装在不会被提前取消的上下文中,或者使用。

2025-10-30 17:38:32 834

原创 Rust Pin与Unpin的内存安全保证:异步编程的基石

在传统的 Rust 所有权模型中,值可以自由移动(move),这是零成本抽象的基础。然而,当一个结构体内部包含指向自身其他字段的指针时,移动操作会使这些指针失效,导致悬垂引用。Rust 通过引入新的类型层抽象,在不损害零成本抽象承诺的前提下,解决了传统上需要垃圾回收或运行时检查才能处理的问题。除非你在实现自己的异步运行时、侵入式数据结构或其他需要自引用的底层组件,否则应该信任标准库和生态系统中的现有实现。被移动到新的内存位置,内部的指针将指向旧地址,造成内存安全问题。安全地获取可变引用,可以自由移动值。

2025-10-30 17:30:50 912

原创 Rust 迭代器适配器:函数式编程的零成本抽象艺术

通过类型系统的静态保证、编译器的激进优化,以及设计精巧的 API,Rust 实现了函数式编程的优雅与系统编程的高效的完美统一。(Combinator Pattern),每个适配器都返回一个新的迭代器类型,这些类型可以无限链式组合。Rust 的迭代器适配器是函数式编程范式在系统编程语言中的完美体现。适配器的强大之处不仅在于元素变换,更在于其与 Rust 类型系统的深度整合。,我们可以在编译期完成复杂的类型转换,同时保持代码的表达力和可读性。方法,通过短路求值快速跳过不满足条件的元素,避免了不必要的计算。

2025-10-30 17:28:22 653

原创 Rust HashMap 的哈希算法与冲突解决:深度技术解析

的实现方式。在实际测试中,100,000 个元素的插入操作,预分配版本比动态扩容快约 40%。

2025-10-30 17:25:38 577

空空如也

空空如也

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

TA关注的人

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