<불공평한 synchronized()>


동기화에 따른 스레드 굶어 죽기 문제를 아래의 클래스로 풀어낸다는 컨셉 (개요를 보니.. 제일 오래 대기한 스레드가 다음 우선권을 
얻는다는데..FIFO(선입선출) 방식)
=> 중요한건 아래의 ReentrantLock를 이용하면서 + try finally 블럭을 이용해 "반드시" unlock()처리를 해주는데 있는듯

=>위의 컨셉에서 약간의 문제점은 스레드 스케쥴링(우선순위priority)을 보장해주지 않는다는 것. 다음 페이지에선 우선순위에 따라
대기중인 스레드 리스트의 원소들을 정렬 해준다는 아이디어로 풀어내고 있음. 

=>이 아이디어를 java.awt의 이벤트 큐에 적용시켜 본다면? 즉 우선순위 이벤트라면 큐의 제일 앞으로 삽입... (이미 구현되어
있을까?)

java.util.concurrent.locks 
클래스 ReentrantLock


by givingsheart 2014. 1. 1. 16:07