Rust 线程安全性保证(Send 与 Sync):编译期并发安全的类型系统并发编程中最棘手的问题是数据竞争和线程安全——多个线程同时访问共享数据,至少一个进行写入,且没有同步机制。传统语言依赖程序员的谨慎和运行时检测,导致难以发现的 bug 和生产环境崩溃。Rust 通过类型系统在编译期解决这个问题,引入了两个自动派生的 marker trait:Send 和 Sync。Send 表示类型的所有权可以在线程间转移,Sync 表示类型可以被多个线程同时不可变地访问。这两个 trait 不包含任何方法,纯粹是编译器的标记,用于静态检查线程安全性。编译器自动为大多数类型实现它们,但对