Java invokeAndWait?

时间:2013-02-26 03:18:47

标签: java swing event-dispatch-thread invokeandwait

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

1 个答案:

答案 0 :(得分:3)

SwingUtilities.invokeAndWait(Runnable)会将事件队列中的Runnable排入队列。这将允许Event Dispatching Thread在Event Dispatching Thread的上下文中执行run的{​​{1}}方法。

在EDT完成执行Runnable方法之后,

invokeAndWait才会返回。这意味着它是一个阻止操作。

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

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