Java 调用并等待?

标签 java swing event-dispatch-thread invokeandwait

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

最佳答案

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

invokeAndWait 在 EDT 完成执行 run 方法后才会返回。这意味着这是一个阻塞操作。

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

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

关于Java 调用并等待?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15080772/

相关文章:

java - 如何从 Quarkus Arc bean 解析中排除第 3 方 CDI bean 工厂?

java - java中返回变量作用域遇到问题

java - 获取执行路径 - 从我启动 jar 文件的位置

java - 由程序控制的 eclipse Action ?

java - 如何通过 Eclipse 启动内联命令

java - CheckBox声音停止

java - GroupLayout:组件未按预期布局?

java - 为什么我需要一个可运行程序而不是直接从 main 调用?

java - 为 paintComponent(Graphics g) 使用 Thread.sleep() 的时间延迟未按预期工作

Java 图形不重画