关于Java,您所描述的内容看起来像是SwingWorker(工作线程)。
当Swing程序需要执行长时间运行的任务时,它通常使用辅助线程之一,也称为后台线程。
Swing程序包括以下类型的线程:
- 初始线程,即执行初始应用程序代码的线程。
- 事件分派线程,在其中执行所有事件处理代码。与Swing框架进行交互的大多数代码也必须在此线程上执行。
- 工作线程,也称为后台线程,在其中执行耗时的后台任务。
单线程规则:
一旦实现了Swing组件,所有可能影响或依赖于该组件状态的代码都应在事件分发线程中执行。
在J2EE上下文中使用时,从EJB引用SwingWorker时需要小心。
关于 J2ME
,这取决于如果您正在开发的应用程序作为一个标准的MIDlet将任何支持MIDP的设备上运行,或 例如
作为RIMlet,使用BlackBerry专用的API,因此只能在黑莓手机上运行一个基于CLDC的应用程序设备。
因为与MIDP的UI类不同,所以RIM与Swing相似,因为UI操作发生在事件线程上,而事件线程不像MIDP那样是线程安全的。要在事件线程上运行代码,应用程序必须获得事件对象上的锁,或者使用invokeLater()或invokeAndWait()–开发人员需要付出额外的努力,但是复杂性带有价格标签。
但是对于LCDUI,您可以从多个线程访问表单。



