首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SwingWorker与SwingUtilities.invokeLater的区别

SwingWorker与SwingUtilities.invokeLater的区别
EN

Stack Overflow用户
提问于 2010-03-19 01:13:08
回答 2查看 2.6K关注 0票数 11

我需要在单独的线程中运行Swing应用程序中的一些方法。使用SwingWorker和SwingUtilities.invokeLater有什么不同?我应该使用哪一个在Swing应用程序中运行线程?我在下面的教程中找不到确切的信息

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-03-19 01:15:40

如果您有一些东西必须在EDT中运行,则可以使用SwingUtilities.invokeLater

如果您有一个长时间运行的任务,则需要使用SwingWorker,因为它不在EDT上运行,因此不会导致图形用户界面在运行时冻结。

票数 8
EN

Stack Overflow用户

发布于 2010-03-19 01:18:09

看起来你会想要:

  • 当您需要监视长时间运行的后台进程的状态时,请使用SwingWorker如果您只想运行一个较短的任务但不需要对其进行反馈,请使用SwingUtilities.invokeLater。有点像一把火和遗忘的游戏。请记住,它将在AWT事件分派线程中运行,因此您的应用程序在任务运行时不会得到任何事件处理。
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2471905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档