了解事件调度威胁和invokeLater()方法

时间:2017-01-08 11:09:44

标签: java swing events

我想确认一下我的理解。事件调度威胁是管理从用户界面生成的所有GUI事件的单一威胁。队列中的事件将在EDT上运行。 invokeLater()让我们把事件处理程序的动作放在EDT上。

1 个答案:

答案 0 :(得分:2)

取自Java documentation

  

Swing事件处理代码在称为事件派发线程的特殊线程上运行。大多数调用Swing方法的代码也在这个线程上运行。这是必要的,因为大多数Swing对象方法都不是“线程安全的”:从多个线程调用它们会冒thread interferencememory consistency errors

invokeLater(异步)和invokeAndWait(同步)是从另一个线程更新GUI元素的实用方法。在处理完所有挂起的AWT事件后,两者都在EDT上发送Runnable