Tôi đang đọc Sách Java Concurrency in Practice . 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 và hoán đổi (CAS).
Người ta viết rằng CAS hoạt động tốt hơn nhiều so với các 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 biết khi nào bạn thích khái niệm nào trong số những khái niệm này? Nó có thực sự nhanh hơn rất nhiều không?
Đối với tôi, cách sử dụng ổ khóa rõ ràng và dễ hiểu hơn nhiều và thậm chí có thể tốt hơn để bảo trì (vui lòng sửa cho 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 mã đồng thời liên quan đến CAS hơn là khóa để tăng hiệu suất tốt hơn hay tính bền vững quan trọng hơn?
Tôi biết có thể không có một 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 mới về CAS.