如何模拟长时间运行的数据库操作?我的要求是显示一个JProgressBar对话框,直到操作完成。模拟长时间运行的操作
回答
使用后台线程(例如由SwingWorker提供的后台线程)来运行循环内的Thread.sleep从1到10的for循环。那么如果它是一个确定模式的JProgressBar,你可以通过将10 *循环索引传递给进度条来更新它的值(当然,在Swing线程上EDT需要小心)。
编辑:
@詹姆斯Poulson芯片:如果您使用的是的SwingWorker对象,您会使用publish/process
方法和done
方法对EDT更新。如果你使用自己的后台线程,你肯定会将任何一组Swing调用包装在Runnable中,并使用invokeLater将它放在EDT上。
+1在工作人员的后台线程上睡觉以模拟延迟是完全可以的,如[这里]所示(http://stackoverflow.com/questions/4637215/can-a-progress-bar-be-used-in-a -class-外主/ 4637725#4637725)。 – trashgod
@HovercraftFullOfEels谢谢你的回答。不得不问,我如何确保在EDT上更新组件?我使用invokeLater吗? –
@JamesPoulson:请参阅编辑我的答案。 –
- 1. C/C++ - 模拟长时间运行操作
- 2. 异步操作 - 确定操作是否长时间运行
- 3. 长时间运行文件操作和执行超时
- 4. VBA行操作执行时间太长
- 5. 模拟长时间运行的Oracle数据库查询
- 6. ,是长时间运行的静态操作的瓶颈吗?
- 7. Azure Worker执行长时间运行操作失败
- 8. 如何处理长时间运行的Web服务操作?
- 9. C#Winform的:与异步长时间运行操作等待
- 10. Web(asp.net)环境中的长时间运行操作(线程)
- 11. ASP.NET MVC和长时间运行的操作
- 12. 从Windows服务处理长时间运行的操作
- 13. 使用MOSS Publishing Infrastructure支持长时间运行的操作
- 14. Quartz.Net中的长时间运行作业
- 15. 长时间运行的作业Spring
- 16. Quartz.NET - 长时间运行的工作?
- 17. Servlets,长时间操作
- 18. 在.net中长时间运行数据库操作
- 19. 数据库更新 - 长时间运行操作失败
- 20. 斯卡拉演员:长时间运行io操作
- 21. ASP.NET Web API +长时间运行操作取消
- 22. 使用AJAX进度条长时间运行Plone操作
- 23. 强制重绘之前长时间运行操作
- 24. testthat长时间运行测试模式
- 25. 长时间运行WF 4模式
- 26. 模拟退火在R:GenSA运行时间
- 27. AWS ECS长时间运行的作业规模在
- 28. OpenCPU中长时间运行作业的任务模型?
- 29. 调用其他长时间运行的工作流服务的长时间运行的工作流服务
- 30. 运行时间检测 - 原子操作
您可以在任何方法内使用'Thread.sleep(millis)'来模拟长时间运行的过程。是不是那么简单:-) – home
@home,并不那么简单。你不能在美国东部时间睡觉。 – mre
你的意思是?:http://stackoverflow.com/questions/1389586/simulation-of-long-running-oracle-db-query –