这是一个关于 swing 实用程序的 invokeAndWait 的非常简单的问题。我听说它在单个线程上同步代码执行,但我不确定。如果是这样,我应该使用 invokeAndWait 来做到这一点吗?
最佳答案
SwingUtilities.invokeAndWait(Runnable)
会将 Runnable
加入事件队列。这将允许事件调度线程在事件调度线程的上下文中执行 Runnable
的 run
方法。
invokeAndWait
在 EDT 完成执行 run
方法后才会返回。这意味着这是一个阻塞操作。
invokeAndWait
用于将代码重新同步到 EDT,允许它在 Swing 工具包中执行对 UI 的更新。
除非您试图让您的代码在 EDT 上执行,否则您不应该将它用于线程同步。
关于Java 调用并等待?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15080772/