【发布时间】:2016-10-20 13:19:33
【问题描述】:
我正在开发一个使用 Eclipse RCP 和 Swing 的项目。我看到两对方法invokeLater()/invokeAndWait() 和asyncExec()/syncExec() 被大量使用。
据我了解,invokeLater()/invokeAndWait() 属于 Swing,asyncExec()/syncExec() 属于 Eclipse。但是这两对方法有什么区别呢?
如果它们都用于在 UI 线程上执行任务,那么它们将任务发布到同一个 UI 线程吗? invokeLater() 和 asyncExec() 可以互换吗?
如果我打电话给例如,是否有任何潜在的陷阱(例如死锁等)? syncExec() 来自invokeAndWait()?
【问题讨论】:
标签: java swing concurrency eclipse-rcp