Tôi đang đọc Sách Đồng thời Java trong Thực tiễn. Trong chương 15, họ đang nói về các thuật toán không chặn và phương pháp so sánh so sánh và trao đổi (CAS).Java Đồng thời: CAS vs Khóa
Được viết rằng CAS hoạt động tốt hơn nhiều so với phương pháp khóa. Tôi muốn hỏi những người đã làm việc với cả hai khái niệm này và muốn nghe khi bạn thích một trong những khái niệm này? Nó thực sự nhanh hơn rất nhiều?
Đối với tôi, việc sử dụng ổ khóa rõ ràng hơn và dễ hiểu hơn và thậm chí có thể tốt hơn để duy trì (vui lòng sửa tôi nếu tôi sai). Chúng ta có nên thực sự tập trung vào việc tạo ra mã đồng thời liên quan đến CAS của chúng ta hơn là các khóa để có được hiệu suất tốt hơn hoặc là tính bền vững quan trọng hơn?
Tôi biết có thể không phải là quy tắc nghiêm ngặt khi sử dụng cái gì. Nhưng tôi chỉ muốn nghe một số ý kiến, kinh nghiệm với khái niệm CAS mới.
Tôi đồng ý, đặt dấu trọng âm vào * chi phí tính toán một giá trị mới *. Thường thì nó là quá lớn, làm cho chiến lược không khóa mất để khóa dựa trên. –