Java SE/Data Share 03 썸네일형 리스트형 Data Share 03 /* 2개의 쓰레드가 코드와 데이터를 공유하는 상황 * t2 쓰레드는 데이터의 값이 50이상이 될때까지 기다렸다가 실행될 수 있도록 조건을 설정함 * synchronized를 적용하여 데이터의 일관성 확보하려고 했다 * synchronized블럭 안에서 wait()을 사용하여 Dead Lock을 예방한다. * 이 소스를 실행하면 t2 쓰레드가 Wait Pool에서 대기하게 되지만, * Wait Pool에서 나와도 좋다는 통보를 해 주지 않으므로 계속 대기하게 된다. * 결국 t1쓰레드만 데이터의 값을 변경하게 된다. * 대책: t1 쓰레드가 값을 변경하다가 50에 도달할 때 Wait Pool에 통보해 준다. */ class Code4 implements Runnable{ int i = 0; public .. 더보기 이전 1 다음