java - SwingWorker 是唯一的方法吗?

标签 java multithreading swing swingworker

我发现为了保持 Java GUI(使用 Swing)响应,唯一的方法是使用 SwingWorker 类,而不是 java.lang.Thread。当涉及基于多线程 GUI 的桌面应用程序时,SwingWorker 真的是唯一的方法吗?有什么好的选择吗?我很少能配置 Thread 类来做我想做的事,但 SwingWorker 通常可以工作,但有时会以一种麻烦的方式进行。

最佳答案

SwingWorker 只是围绕 Thread 的一个简单的便捷 API。因此,绝对可以在没有 SwingWorker 的情况下使用 Thread。要点是 Swing 不是线程安全的,您对 Swing 对象执行的任何操作都必须在事件调度线程上发生。这是根本障碍,SwingWorker 试图帮助您更方便地克服它。

关于java - SwingWorker 是唯一的方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21905494/

相关文章:

java - 在所有 Activity 按钮上设置 setOnClickListener() 的简单方法

c - 在多线程 TCP 服务器中使用 Listen() 系统调用

java - 无法连接到端口 7

java - 删除Java错误中的空格

java - 如何删除 JButton 上的图标?

java - 在国际象棋java中移动棋子

java - JScrollBar Vertical/Horizo​​ntal 设置问题- Java Swing

ios - OS X 是否限制辅助线程的内存使用?

Java线程,从主线程更改值

java - 无框架和模态 JDialog