Skip to content

Latest commit

 

History

History
39 lines (20 loc) · 2.15 KB

readme.md

File metadata and controls

39 lines (20 loc) · 2.15 KB

所有权(Ownership):

  1. 所有权是 Rust 的核心概念之一,它用于管理内存和避免内存泄漏和数据竞争。

  2. 每个值都有一个唯一的所有者,即控制它的变量或数据结构。

  3. 所有权规则确保在特定作用域内,只有一个所有者可以拥有值。

  4. 当所有者超出范围(通常是变量离开其作用域)时,值将自动释放(drop),这意味着相关的内存资源被回收。

  5. 所有权的转移可以通过移动(move)或克隆(clone)来实现。移动将值的所有权从一个变量转移到另一个变量,克隆则创建一个新的值拷贝。

不可变引用(Immutable References):

  1. 不可变引用允许多个代码路径同时访问数据,但不能修改数据。

  2. 在同一作用域中,可以有多个不可变引用,但不能有可变引用。这确保了数据在访问时是只读的,从而避免了竞争条件。

  3. 不可变引用允许数据在多个地方被引用,从而实现了共享访问,而不会引入不安全性。

  4. 不可变引用可以传递到函数,允许多个部分同时访问数据,但不允许修改数据。

可变引用(Mutable References):

  1. 可变引用允许单一代码路径修改数据,但不允许多个可变引用同时存在。

  2. 在同一作用域中,要么有一个可变引用,要么有任意数量的不可变引用,但不能同时有可变引用和不可变引用。这避免了竞争条件。

  3. 可变引用是一种临时的、有限的可变访问权限,通常用于修改数据。

  4. 可变引用可以传递到函数,允许在函数内部修改数据,但函数的生命周期必须小于或等于引用的生命周期。

总体规则和特性:

  1. Rust 的所有权系统和借用检查器确保了内存安全,避免了数据竞争、空指针等问题。

  2. 所有权、不可变引用和可变引用是协同工作的规则,确保了在编译时和运行时的多线程并发访问,而不会导致竞争条件或数据不一致。

  3. 这些规则和特性使得 Rust 具有强大的内存安全性和并发性能,同时提供了灵活性和控制性。