[CS/운영체제] 멀티스레드와 동시성 - 27부

황제연·2025년 7월 26일
0

CS학습

목록 보기
147/193
post-thumbnail

ArrayList의 add 연산은..

ArrayList의 add 연산은 잘 확인해보면, 리스트에 값을 추가하는 것 뿐만아니라
크기를 증가시키는 연산도 포함되어있습니다

이때 사이즈를 증가시키는 연산은 원자적이지 않기 때문에,
두 스레드가 동시에 접근했을 때 동시성 문제가 발생할 수 있습니다
자칫 잘못하면 한 스레드가 리스트에 넣은 값이 사라질 수도 있습니다

자바의 컬렉션 프레임워크는..

일반적으로 사용하는 ArrayList, LinkedList, HashSet, HashMap 등과 같이
우리가 일반적으로 자주 사용하는 자료 구조들은 원자적인 연산을 제공하지 않습니다

즉, 스레드 세이프하지 않기 때문에 단일 스레드가 접근하는 경우가 아니고
멀티스레드 환경에서 여러 스레드가 동시에 컬렉션에 접근하는 경우라면 사용해서는 안됩니다

참고

  • 김영한의 실전 자바 - 고급 1편
profile
Software Developer

0개의 댓글