[Java] Thread 동기화가 필요해.
·
BackEnd/JAVA
쓰레드 동기화쓰레드 동기화란?애플리케이션 내에서 멀티스레드로 동작을 하게 되면 스레드끼리 자원을 공유하며 작업하게 됩니다.이때, 공유 자원의 안정성을 위하여 하나의 쓰레드 작업 시 다른 쓰레드는 접근하지 못하도록 막는 것을 쓰레드 동기화 라고 합니다.동기화를 위해서는 임계영역과 잠금이 사용됩니다.임계영역 (critical section) : 오직 한 스레드만 접근을 보장하는 영역잠금 (Lock) : 임계 영역에 접근 시 락을 획득하고, 작업 완료 후 락을 반납하며 임계영역을 벗어납니다. 동기화를 사용하는 이유간단히 입출금으로 비교했볼 수 있습니다.통장에 10만원이 있다고 가정할 때, A가 통장에서 3만원을 출금하려고 시도하던 중 B가 동일한 통장에 들어와 2만원을 출금을 하고, A의 출금 작업을 완료했습..