我是Java Swing的新手,我的问题与事件队列和调度线程有关。
我读到每个AppContext实例可以有多个事件队列。同样,这意味着每个AppContext事件队列都有自己的事件派发线程。
答案 0 :(得分:3)
据我所知,只能有一个事件派发线程。
显然是AppContext is not meant to be used by developers,虽然我对它并不熟悉。
答案 1 :(得分:1)
1)基本上你只需知道你的代码是否会在EDT上完成(所有更改都必须在EDT上完成),
2)如果您有任何疑问,可以进行测试
if (EventQueue.isDispatchThread()) {
或(如果在EDT上,则返回true)
if (SwingUtilities.isEventDispatchThread()) {
3)后台任务的所有输出都必须包含在invokeLater()
中,关于Concurency in Swing的基本内容