Thread Synchronized1 Thread Synchronized 쓰레드 배타제어 멀티 쓰레드 프로그램에서는 복수의 쓰레드가 자유롭게 동작한다.그리고 같은 인스턴스를 동시에 조작하는 경우도 있다. 하지만 이것은 경우에 따라서 곤란한 상황을 야기한다. 예를 들어 은행 계좌에서 돈을 인출한다고 해보자. 예금 잔고를 체크해서 필요금액 이상이 있으면 필요금액 만큼 인출하여 예금 잔고를 줄인다. 이렇게 하면 예금 잔고가 마이너스가 될 일은 없다. 하지만 2가지 쓰레드가 병행하여 실행 할 경우 예금잔고가 마이너스가 될 수 있다.어째서일까? 쓰레드 A와 쓰레드 B가 병행하여 동작하는 경우 타이밍에 따라서는 쓰레드 A의 잔고 확인과 잔고를 줄이는 처리 라고 하는 2개 처리 사이의 쓰레드 B의 처리가 끼어들 가능성이 있기 떄문이다!! 쓰레드 A와 쓰레드 B가 경쟁함으로써 예기치 않게 .. 2020. 4. 19. 이전 1 다음