Threads and Swing

http://java.sun.com/products/jfc/tsc/articles/threads/threads1.html

 

先记上,以后添加。

 

event-dispatching thread:事件分发线程

event-dispatching thread是一个执行绘画与事件处理代码的线程,比如paint和actionPerformed方法就会自动在event-dispatching thread中被执行,当actionPerformed中执行流程被阻塞,paint会因为没有被执行而导致界面不刷新

 

http://java.sun.com/docs/books/tutorial/uiswing/concurrency/dispatch.html

 

Swing的事件处理代码是运行在事件分发线程(event-dispatching thread)之上的
为什么要这样,因为大部分Swing 对象方法是非线程安全的,如果以多线程方式去调用的话就会造成线程间的干涉与内存不一致错误

在事件分发线程中执行就像一个排队机,在上面 执行的代码就像一系列排队的任务(大部分任务都是调用事件处理方法,比如ActionListener.actionPerformed,其它任务就可以 通过invokeLater或invokeAndWait来安排),任务如果不很快结束的话,就会造成未处理的事件拥堵累积且用户界面也会变得没有响应 (事件分发线程也是负责处理GUI drawing的)

你可能感兴趣的:(thread,html,swing,sun)