Java 这段代码会在UI线程中运行吗?

Java 这段代码会在UI线程中运行吗?,java,swing,swingworker,Java,Swing,Swingworker,例如,我的UI线程执行一个SwingWorker线程,称为a。在线程的done()函数中,它创建一个SwingWorker线程B。现在,线程B的done()函数中的代码正在UI线程或线程a上运行 代码应该在线程A上运行是有道理的,但是如果我不在线程A中调用get()函数,线程A将不会等待线程B,线程A可能会完成它的任务。如果线程B现在执行done()函数中的代码,那么线程A就不在那里了。那么在这种情况下如何处理代码呢?根据文档,SwingWorker#done()在Swing事件调度线程(EDT

例如,我的UI线程执行一个SwingWorker线程,称为a。在线程的done()函数中,它创建一个SwingWorker线程B。现在,线程B的done()函数中的代码正在UI线程或线程a上运行

代码应该在线程A上运行是有道理的,但是如果我不在线程A中调用get()函数,线程A将不会等待线程B,线程A可能会完成它的任务。如果线程B现在执行done()函数中的代码,那么线程A就不在那里了。那么在这种情况下如何处理代码呢?

根据文档,
SwingWorker#done()
在Swing事件调度线程(EDT)上运行。以上提到的
done()
方法都是如此。您知道,通过使用
SwingUtilities.isEventDispatchThread()
方法可以很容易地找到答案