Truyền xung quanh dữ liệu đã mượn
Các quy tắc tham chiếu của Rust tốt nhất có thể được tóm tắt bằng:
- Rust chỉ cho phép có một tham chiếu có thể thay đổi hoặc nhiều tham chiếu không thể thay đổi chứ không phải cả hai.
- Tham chiếu không bao giờ được tồn tại lâu hơn so với chủ sở hữu của nó.
Điều này không có xu hướng là một vấn đề khi chuyển xung quanh các tham chiếu đến các hàm.
Chi tiết bộ nhớ:
- Quy tắc tham chiếu đầu tiên ngăn chặn các cuộc chạy đua dữ liệu(data race). Cuộc đua dữ liệu là gì? Một cuộc chạy đua dữ liệu khi đọc từ dữ liệu có khả năng không đồng bộ do sự tồn tại của người ghi vào dữ liệu cùng một lúc. Điều này xảy ra thường xuyên trong lập trình đa luồng.
- Quy tắc thứ hai về tham chiếu ngăn chặn việc lạm dụng tham chiếu tham chiếu đến dữ liệu không tồn tại (được gọi là con trỏ treo-dangling pointer trong C).