내가 읽고있는 책에서 멀티 스레딩을 사용하는 GUI의 모든 예는 다음과 같습니다.Java의 EventQueue입니다. 왜 모든 것이 invokelater 메서드에 있어야합니까?
public static void main(String[] args) throws Exception
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
JFrame frame = new SomeKindOfFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
});
}
(저는 EventQueue를 의미합니다). 하지만 메인 (EDT) 스레드에서 자동으로 실행되는 코드가 아닌가?
분명히 스윙에서 이것을 "단일 스레드 규칙"이라고합니다. 스윙 이벤트는이 작은 "Runnable()"인스턴스를 가져 와서 실행하는 이벤트 스레드에서 처리됩니다. –
@ 워렌 P는 완전히 동의합니다. 나는 이것을 가장 쉬운 방법으로 설명하려고 노력했다. BTW, 문법 교정을위한 감사합니다. –