[Java] Multi Thread와 임계영역 설정
Multi Thread 사용시 주의사항 Multi Thread 사용시 병렬적인 Task 처리가 가능하단 장점이 있지만, 자원을 공유하기 때문에 사용시 몇가지 주의할 점이 있다. 1. 교착상태 - 두개의 쓰레드가 서로 끝나기를 기다리는 상태이다. 자신이 원하는 자원을 상대방이 가진채로 놓지 않는 상황이다. 2. 동시접근 - 특정 연산을 수행하고 있는 와중에 다른 쓰레드가 연산의 결과를 조회하는 로직을 수행하는 경우. 예상과 전혀 다른 결과가 나올 수 있다. 연산의 결과가 끝날때 까지는 다른 쓰레드가 연산결과를 조회하지 못하도록 해야한다. 3. 기아 - 특정 쓰레드가 계속해서 자원을 사용하지 못한채로 존재할 수 있다. 위 문제를 해결하기 위해 자바에선 synchronized, wait(), notify() ..
2021.09.01