假设我拥有的一个方法有时会在 Event Dispatch Thread 上被调用,有时不会。现在假设我想在 Event Dispatch Thread 以外的线程上调用该方法中的一些代码。
此时有没有办法在 EDT 以外的线程上运行一些代码?
我试过这个:
if (SwingUtilities.isEventDispatchThread()) {
new Runnable() {
@Override
public void run() {
myMethod();
}
}.run();
} else {
myMethod();
}
但是即使我创建了一个新的 Runnable,myMethod() 最终还是在 EDT 上运行。
此时有没有办法在 EDT 以外的线程上运行 myMethod() ?