我发现为了保持 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/