1

这是一个关于 swing 实用程序的 invokeAndWait 的非常简单的问题。我听说它在单个线程上同步代码执行,但我不确定。如果是这样,我应该使用 invokeAndWait 来做到这一点吗?

4

1 回答 1

3

SwingUtilities.invokeAndWait(Runnable)Runnable在事件队列中排队。这将允许事件调度线程在事件调度线程的上下文中执行run方法。Runnable

invokeAndWaitrun直到 EDT 完成执行该方法后才会返回。这意味着它是一个阻塞操作。

invokeAndWait用于将代码重新同步到 EDT,允许它在 Swing 工具包中执行对 UI 的更新。

除非你试图让你的代码在 EDT 上执行,否则你不应该将它用于线程同步。

于 2013-02-26T03:21:51.010 回答