업데이트 될 계정 목록이 있습니다. 하루에 1-2 번 너무 자주 업데이트되지 않습니다.
이 데이터에는 '정기적으로'룩업이 포함됩니다.
이상적인 데이터 구조는 ConcurrentLinkedList 였을 것입니다.
CopyOnWriteArrayList가 유일한 기본 옵션입니까?동시에 업데이트 목록
답변
주로 읽고 있다면, 왜 동시 데이터 구조가 필요한지. 대신 HashSet 또는 HashMap을 사용할 수 있습니다. 더 빨리 읽을 수 있습니다. 업데이트 빈도가 적어서 쓰기 부분을 명시 적으로 동기화 할 수 있습니다.
다른 스레드를 쓰는 한 스레드가 오래된 데이터를 읽지 않아야하기 때문에 이것은 잘못되었습니다. –
하지만 드물게 업데이트되므로 잠금을 사용하여 명시 적으로 처리 할 수 있습니다. 권리 ?. 또한 귀하의 경우 귀하의 독서 성능이 더 빨라야하며, List에는 포함에 대한 복잡성이 있습니다. –
그럼 당신은 읽기/쓰기 잠금을 별도로 명시 적 잠금을 구현해야 여러 스레드가 읽을 수 있습니다. 사용 설정 될 수 있습니다 설정
안녕하세요 당신이 어떤 종류의 트리 또는 해시지도 데이터 구조를 먼저 생각해 보지 않는 이유는 무엇입니까 –
'CopyOnWriteArrayList'는 사용 사례에 완벽하게 들립니다. 당신은 그것에 대해 무엇을 가지고 있습니까? – shmosel
당신이 찾고있을 수도 있습니다 집합 = Collections.newSetFromMap (새 ConcurrentHashMap <유형, 부울>()); –