문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 | |||
java:collection [2018/10/25 12:20] kwon37xi |
java:collection [2019/02/22 19:27] (현재) kwon37xi |
||
---|---|---|---|
줄 11: | 줄 11: | ||
Set<E> concurrentSet = Collections.newSetFromMap(new ConcurrentHashMap<E, Boolean>()); | Set<E> concurrentSet = Collections.newSetFromMap(new ConcurrentHashMap<E, Boolean>()); | ||
</code> | </code> | ||
+ | |||
+ | ==== List ==== | ||
+ | === CopyOnWriteArrayList === | ||
+ | * [[https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/CopyOnWriteArrayList.html|CopyOnWriteArrayList]] | ||
+ | * ''synchronized'' 없이 멀티 쓰레드에서 안전하게 작동하는 List. | ||
+ | * iteration을 돌 때 가지고 있던 내용을 복제하여, 다른 쓰레드로 인한 변경 영향을 받지 않게 한다. | ||
+ | * 성능이 떨어진다. | ||
+ | * [[https://www.baeldung.com/java-copy-on-write-arraylist|Guide to CopyOnWriteArrayList | Baeldung]] | ||
+ | |||
+ |