ArrayList<Foo>
이 있다고 가정합니다. 이 목록은 매우 자주 수정됩니다. 목록의 요소 값에도 항상 변경되는 값이 있습니다. 이 목록에 대한 모든 수정은 주 스레드에 의해 수행됩니다.별도의 스레드에있는 객체의 Java 딥 복제 목록 원자 적으로
주 스레드 (또는 적어도 많지 않음)를 지연시키지 않는 방식으로 별도의 스레드에 목록 복제 (딥 레벨, 요소 또한 복제되어야 함) 및 복사 목록에는 원래의 목록과 동일한 값 (다시 한 번 스냅 샷)과 함께 모든 Foo 객체의 스냅 샷이 시간에 나타납니다 (기본적으로 원자 적이라고 생각합니다).
미리 감사드립니다. 솔루션은 동기화와 관련이 있지만 위의 모든 기준을 충족하지 못함을 알고 있습니다.
빠른 응답을 보내 주셔서 감사합니다. 비록 저를 올바른 길로 인도하기위한 어떤 종류의 예를 찾고 있었지만 책에 대한 링크는 아닙니다. – olta8
CopyOnWriteArrayList는 매우 잘 작동하는 것 같습니다. – olta8
CopyOnWriteArrayList는 확실히 유용하지만 항목 자체를 수정하는 데주의해야합니다 (예 : CopyOnWriteArrayList의 코드). 거기에 십자가 문제에서 당신을 구해주지 않을 것입니다 ... –