[CS 문답] 동기화, 임계영역, 원자성, 가시성, 블로킹/논블로킹 방식이 무엇인가요?


[CS 문답] 동기화, 임계영역, 원자성, 가시성, 블로킹/논블로킹 방식이 무엇인가요?

동기화, 임계영역, 원자성, 가시성, 블로킹/논블로킹 방식이 무엇인가요? 동기화 여러 프로세스 / 스레드를 동시에 실행해도 공유데이터의 일관성을 유지하는 것 임계영역 공유 데이터의 일관성을 보장하기 위해 하나의 프로세스/스레드만 진입해서 실행 가능한 영역 원자성 공유 자원에 대한 작업의 단위가 더이상 쪼개지지 않는 원자처럼, 하나의 연산인 것으로 취급되어 동작하는 것 가시성 CPU캐시때문에 생기는 문제를 해결. 메인메모리에서만 값을 읽어오게 함. (자바에서) volatile 키워드로 구현. 블로킹 방식 특정 스레드가 작업을 수행하는 동안 다른 작업은 진행하지 않고 대기하는 방식 메모리에 값이 쓰이기 전까진 다른 쓰레드는 작업을 진행 X 가시성과 원자성을 동시에 챙김 대기하는쓰레드 ⇒ 성능저하 데드락 ⇒ 키를 가지고 들어가니까, 자기가 가진 자원을 놓지 않고 다른 스레드의 자원을 무한히 대기하는 상태 논블로킹 방식 다른 스레드의 작업여부와 상관없이 자신의 작업을 수행하는 방식 Comp...



원문링크 : [CS 문답] 동기화, 임계영역, 원자성, 가시성, 블로킹/논블로킹 방식이 무엇인가요?