首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >睡在SwingWorker里?

睡在SwingWorker里?
EN

Stack Overflow用户
提问于 2011-06-07 20:31:15
回答 2查看 1.5K关注 0票数 5

我需要在一段时间内将测试数据提供给Swing interval。数据集解析起来很长,所以我使用SwingWorker在后台解析它。当涉及到向图形用户界面提供数据(比方说,每秒一个项目)时,我可以从SwingWorker启动一个Timer,但这似乎有点过分了。有什么理由不在SwingWorker内部休眠吗?

干杯

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-07 20:35:56

因为SwingWorker不是在EDT上运行的,所以在里面睡觉是完全可以的。

SwingWorker适用于需要在后台线程中运行长时间运行的任务,并在完成或处理时为UI提供更新的情况。

在我看来,在SwingWorker的基础上再添加一个Timer就太夸张了。相反,只要有可能,就发布解析的测试数据,即使是在不规律的时间间隔。

票数 4
EN

Stack Overflow用户

发布于 2011-06-07 20:42:33

当您使SwingWorker休眠时,它将不会加载数据。如果这是需要的,那么这种方法是可以的。

如果你想继续加载数据,只需控制输入到图形用户界面的速度,那么似乎更好的设计是在图形用户界面中启动一个计时器,该计时器将以一定的时间间隔检查并从工作程序中提取新数据,而不是让工作程序调用invokeLater回调图形用户界面。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6265169

复制
相关文章

相似问题

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