ConcurrentSkipListSet và ConcurrentSkipListMap rất hữu ích khi bạn cần một vùng chứa được sắp xếp sẽ được nhiều luồng truy cập. Về cơ bản, đây là những điểm tương đương của TreeMap và TreeSet cho mã đồng thời.
Việc triển khai cho JDK 6 dựa trên Bảng băm không khóa động hiệu suất cao và Bộ dựa trên danh sách của Maged Michael tại IBM, điều này cho thấy rằng bạn có thể triển khai nhiều hoạt động trên danh sách bỏ qua một cách nguyên tử bằng cách sử dụng các phép toán so sánh và hoán đổi (CAS) . Đây là những lớp không có khóa, vì vậy bạn không phải lo lắng về chi phí synchronized
(đối với hầu hết các hoạt động) khi bạn sử dụng các lớp này.
Hiện không có triển khai Bản đồ / Tập hợp đồng thời dựa trên cây Đỏ-Đen trong Java. Tôi đã xem qua tài liệu một chút và tìm thấy một vài bài báo cho thấy cây RB đồng thời hoạt động tốt hơn danh sách bỏ qua, nhưng rất nhiều thử nghiệm này được thực hiện với bộ nhớ giao dịch , không được hỗ trợ trong phần cứng trên bất kỳ kiến trúc lớn nào vào lúc này.
Tôi giả định rằng các anh chàng JDK đã sử dụng danh sách bỏ qua ở đây bởi vì việc triển khai đã nổi tiếng và vì việc làm cho nó không bị khóa rất đơn giản và dễ di chuyển (sử dụng CAS). Nếu bất cứ ai quan tâm để làm rõ, xin vui lòng làm. Tôi tò mò.