类:Swing 中的并发

Examples Index

本课讨论适用于 Swing 编程的并发。假定您已经熟悉Essential Classes跟踪中的Concurrency类的内容。

谨慎使用并发对 Swing 程序员尤其重要。编写良好的 Swing 程序使用并发创建一个永远不会“冻结”的用户interface-该程序始终在响应用户交互,无论它在做什么。要创建响应式程序,程序员必须学习 Swing 框架如何使用线程。

Swing 程序员处理以下几种线程:

  • 初始线程,即执行初始应用程序代码的线程。

  • 事件分派线程,在其中执行所有事件处理代码。与 Swing 框架进行交互的大多数代码也必须在此线程上执行。

  • 工作线程,也称为后台线程,在其中执行耗时的后台任务。

程序员不需要提供显式创建这些线程的代码:它们是由运行时或 Swing 框架提供的。程序员的工作是利用这些线程来创建响应快速,可维护的 Swing 程序。

与在 Java 平台上运行的任何其他程序一样,Swing 程序可以使用并发类中介绍的工具创建其他线程和线程池。但是对于基本的 Swing 程序,这里描述的线程就足够了。

本课依次讨论三种线程。工作线程需要最多的讨论,因为在其上运行的任务是使用javax.swing.SwingWorker创建的。此类具有许多有用的功能,包括工作线程任务与其他线程上的任务之间的通信和协调。