20200925 4-4.(3) Thread 동기화 Lock Thread 동기화 : 여러개의 Thread가 공유하여 작업 진행 -> : 문제가 발생할 여지가 있음 -> 임계 영역 : 이 영역을 동기화 처리 문제발생 방지 : 과도한 동기화는 프로그램 성능 저하 -> 필요한 영역만 선별적으로 사용 T17_LockAccountTest 1. lock 객체 생성 되도록이면 private final로 만든다 : 이유) 외부에서 접근하지 못하도록 상수로 만듦 : ... unlock()Thread2020092520200925 4-4.(5) Thread Wait Notify wait() , notify() 동기화 영역에서 사용해야 의미가 있음 wait()메서드 : 동기화 영역에서 락을 풀고 Wait-Set영역(공유객체별 존재)으로 이동 notify() 또는 notifyAll() 메서드 : Wait-Set영역에 있는 쓰레드를 깨워서 run() : notify()는 하나, notifyAll()은 전부를 깨운다 Object 클래스에서 제공하는 메서드 T19_WaitN... wait()20200925notify()Thread20200925
4-4.(3) Thread 동기화 Lock Thread 동기화 : 여러개의 Thread가 공유하여 작업 진행 -> : 문제가 발생할 여지가 있음 -> 임계 영역 : 이 영역을 동기화 처리 문제발생 방지 : 과도한 동기화는 프로그램 성능 저하 -> 필요한 영역만 선별적으로 사용 T17_LockAccountTest 1. lock 객체 생성 되도록이면 private final로 만든다 : 이유) 외부에서 접근하지 못하도록 상수로 만듦 : ... unlock()Thread2020092520200925 4-4.(5) Thread Wait Notify wait() , notify() 동기화 영역에서 사용해야 의미가 있음 wait()메서드 : 동기화 영역에서 락을 풀고 Wait-Set영역(공유객체별 존재)으로 이동 notify() 또는 notifyAll() 메서드 : Wait-Set영역에 있는 쓰레드를 깨워서 run() : notify()는 하나, notifyAll()은 전부를 깨운다 Object 클래스에서 제공하는 메서드 T19_WaitN... wait()20200925notify()Thread20200925