티스토리 뷰

백엔드 프로젝트를 설계할때, 멀티스레드 환경을 잘 관리하는 것은 중요하다.

그래서 이번 포스팅은 CopyOnWriteArrayList, AtomicLong를 정리해보려고 한다. 

 

■ CopyOnWriteArrayList 란?

→ 스레드-안전한 List 구현체

 

  • 읽기(Read)는 빠르게, 쓰기(Write)는 느리게 동작해!
  • 쓰기 작업이 일어날 때마다 전체 배열을 복사해서 새로운 배열을 만든 다음 변경

읽는 작업이 많고, 쓰는 작업이 드문 경우(ex. 캐시 데이터, 설정 값 목록 등등 )에 사용하면 좋음.

 

 

AtomicLong 란?

→ long 값을 스레드-안전하게 원자적(Atomic)으로 조작할 수 있게 해줌. 

락(lock) 없이도 동시에 여러 스레드가 안전하게 접근 가능함!!

 

동시성 카운팅 작업 (ex. 사용자 수, 요청 수, 고유 ID 생성 등), 락(lock)을 쓰지 않고 빠르게 처리하고 싶을 때 쓰면 좋음. 

 

 

뭐, 각각 클래스의 매서드는 검색해서 찾는데 더 효율적일 것같다. 여기까지.,....

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2026/04   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
글 보관함