동시성

·TIL
임계영역(Critical Section)여러 스레드가 공유하는 자원에 접근하는 코드 영역을 말하는 논리 영역이다멀티 스레딩 환경에서 여러 스레드가 동시에 접근할 때 문제가 발생할 수 있는 영역이다이 영역에서는 공유 자원에 대한 접근이 이루어지기 때문에 동시에 접근하면 데이터 불일치 문제가 발생할 수 있다공유 자원의 예로는 전역 변수, 파일, 데이터베이스 등이 있다임계영역 특징상호 배제 (Mutual Exclusion)한 스레드가 임계영역에서 실행 중일 때, 다른 스레드는 해당 임계영역에 진입할 수 없어야 한다한정된 대기 (Bounded Waiting)스레드가 임계영역 진입하기 위해 대기하는 시간은 한정되어야 한다즉, 무한정 대기하는 상황이 발생하면 안 된다진행 가능성임계영역에 진입하려는 스레드가 없다면,..
·TIL
ConcurrentHashMap동시성에 최적화된 해시맵 구현체여러 스레드가 동시에 데이터를 읽고 쓸 수 있도록 설계되어 있다동시성 최적화 방식세그먼트 락킹Java8 이전해시맵이 여러 세그먼트로 나누어져 각 세그먼트마다 개별적인 락을 사용했다하나의 세그먼트에서만 락이 걸려도 다른 세그먼트에 대한 접근이 여전히 가능했다Java8세그먼트 락킹 대신 세분화된 락으로 변경했다내부적으로 락 스트라이핑 기법을 사용하여 개별 버킷에 락을 걸지 않고, 필요한 경우에만 부분적으로 락을 사용한다락 프리 읽기 (Lock-free Reads)읽기 작업에는 락을 걸지 않고 진행한다이는 데이터 일관성을 유지하면서도 높은 읽기 성능을 제공한다읽기 작업이 수행될 때는 데이터 구조의 내부 상태가 변하지 않도록 보장하는 기술을 사용한다동..
삼공비
'동시성' 태그의 글 목록