[ java ] in KIDS 글 쓴 이(By): lazz (라즈) 날 짜 (Date): 1998년 11월 18일 수요일 오전 09시 46분 11초 제 목(Title): [질문] paint Thread 동기화 자바 FAQ(Addison-Wesley 한국어판) 책에서 보니까 repaint를 하면 가능한한 빨리 paint메소드를 호출하라는 메시지가 중앙의 AWT thread에게 가서 비동기적으로 paint 작업이 실행된다고 하는군요. 비동기적으로 작동하는 건 알고 있었는데 paint가 main에서 시작하는 primary thread가 아닌 다른 스레드로서 구현되 있다는 건 처음 알았습니다. 그런데 이렇게 되면 paint안에서 사용하는 변수들과 paint가 있는 클래스의 다른 메소드들에서 사용하는 변수들이 같은 것이면 동기화 문제는 어떻게 되는거죠? 그러니까 paint thread와 primary thread와의 동기화요. 일반적으로 이 두 스레드의 동기화는 안 해줘도 되는걸로 압니다. VM이나 컴파일러에서 자동으로 어떻게 해주는건가요? |