Rc và Arc là hai loại con trỏ thông minh trong ngôn ngữ lập trình Rust, được sử dụng để quản lý bộ nhớ thông qua việc đếm số lượng tham chiếu đến một giá trị nào đó trên heap. Mặc dù chúng có mục đích sử dụng tương tự nhau, nhưng có một số điểm khác biệt quan trọng giữa chúng.
Rc là viết tắt của "Reference Counted". Loại con trỏ này cho phép nhiều tham chiếu đến cùng một giá trị trong một chương trình đơn luồng. Khi số lượng tham chiếu giảm xuống còn 0, giá trị đó sẽ được tự động giải phóng. Tuy nhiên, Rc không an toàn khi sử dụng trong môi trường đa luồng vì nó không thực hiện các thao tác đếm tham chiếu một cách an toàn với luồng (thread-safe).
Arc, viết tắt của "Atomically Reference Counted", cung cấp chức năng tương tự như Rc nhưng thêm vào đó là khả năng sử dụng an toàn trong môi trường đa luồng. Arc sử dụng các thao tác nguyên tử (atomic operations) để ...