hashset1 동시성에 대해서 생각해보자. 하나의 자원에 여러 프로세스 또는 스레드가 사용하려고 할 때. 사용되는 영역을 임계영역이라 하고, 자원을 점유하기 위해 여러 동시성제어를 할 수 있는 도구를 사용한다. 그럼 여러 동시성제어를 할 수 있는 도구란 무엇을 말하는가? 개념적으로는 뮤텍스, 세마포어, 모니터 가 있을 것이고 실제 코드는 `java.util.concurrent` 패키지에 담겨있다. 그 외 실행자 프레임워크, 동기화 장치(synchronizer) 등이 존재합니다. Java에서는 실행자 프레임워크를 통해서 작업하길 권고하고 있다. [이펙티브 자바 Item81] 그 이유는 위에서 언급한 뮤텍스, 세마포어, 모니터를 조작하기 위해서 wait, notify와 같은 코드를 작성해 동시성을 제어해야 하는데, 이때 복잡성이 더 커지기 때문이다... 2021. 2. 9. 이전 1 다음