가끔씩 이벤트 디스패치 스레드에서 제가 가지고있는 메서드를 호출한다고 가정합니다. 이제 Event Dispatch Thread가 아닌 다른 스레드에서 호출하려고했던 해당 메소드의 일부 코드를 가정 해 보겠습니다.On Event Dispatch Thread --- 꺼내고 싶습니다
EDT 이외의 스레드에서 일부 코드를 실행할 수있는 방법이 있습니까?
if (SwingUtilities.isEventDispatchThread()) {
new Runnable() {
@Override
public void run() {
myMethod();
}
}.run();
} else {
myMethod();
}
그러나 MyMethod라는() 나는 새의 Runnable을 만들 경우에도 EDT에서 실행 결국 :
나는이 시도.EDT 이외의 스레드에서 myMethod()를 실행할 수 있습니까?
'현재 스레드 이름'을 확인할 수 있습니다. 디폴트에서는, EDT thread에 대해서는 AWT-EventQueue-0와 같게됩니다. – Braj
AWT 이벤트 대기열에 있음을 알 수있는 방법을 알고 있습니다. 문제는 AWT Event Queue가 아닌 코드를 실행하기 위해서입니다. –