읽기만 하면 Thread safe하나 수정하면 문제 발생
그래도 multi thread환경에서는 안 쓰는 편이 낫다고 한다.
ArrayList, HashMap
Thread safe 읽기, 쓰기 가능
CopyOnWriteArrayList, SynchronizedList
ConcurrentHashMap, SynchronizedMap
Thread safe 읽기만 가능
대신 원본에 접근가능하면 원본은 수정할 수 있음
unmodifiableMap
unmodifiableList
Google Guava 불변
immutablemap
immutablelist
JAVA 9 불변
list.of()
unmodifiablemap vs immutablemap
https://stackoverflow.com/questions/22636575/unmodifiablemap-java-collections-vs-immutablemap-google
ArrayList Thread 관한 글
https://202psj.tistory.com/1614
CopyOnWriteArrayList vs SynchronizedList
read 작업량 < write 작업량 : SynchronizedList
read 작업량 > write 작업량 : CopyOnWriteList
CopyOnWriteList 임시배열에 복사해서 쓰기 후 원본배열을 갱신하기 때문에 읽기가 나음
SynchronizedList 전체 락
https://taes-k.github.io/2021/12/26/synchronizedlist-copyonwritelist/
http://asuraiv.blogspot.com/2020/02/java-synchronizedlist-vs.html
ConcurrentHashMap vs SynchronizedMap
https://ooz.co.kr/71
ConcurrentHashMap(쪼개서 락)
SynchronizedMap 전체 락
'Lang > Java' 카테고리의 다른 글
LocalDateTime millisecond 계산 (0) | 2023.04.01 |
---|---|
Quartz 간단하게 사용법 (0) | 2023.02.18 |
Thread Runnable 사용 시 setName (0) | 2023.02.11 |
sts thymeleaf ',' expected Language Servers (0) | 2022.11.20 |
STS thymeleaf 자동 완성 안 될 때 (0) | 2022.11.20 |