加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 除了processmessage之外我还可以用来保持程序响应的其

发布时间:2020-12-15 04:23:34 所属栏目:大数据 来源:网络整理
导读:我有一个可以运行很长时间扫描数据库的应用程序. 在此过程中,我通过使用processmessage使我的程序保持响应. 当我的进度条更新并且被包含时,将触发此流程消息. 大多数情况下都可以正常工作,但是当数据库变大时,进度条上升1%需要更长的时间,程序在此之前就会
我有一个可以运行很长时间扫描数据库的应用程序.
在此过程中,我通过使用processmessage使我的程序保持响应.
当我的进度条更新并且被包含时,将触发此流程消息.
大多数情况下都可以正常工作,但是当数据库变大时,进度条上升1%需要更长的时间,程序在此之前就会无响应.

除了流程消息之外,还有另一种让我的程序保持活力的方法吗?

解决方法

多线程就是答案.标准的Delphi应用程序基本上是一个单线程应用程序,可以一次完成一件事.因此gui锁定,如果它正在做其他事情,它不能保持响应.

如果你想要一个响应的gui并同时进行繁重的提升,你需要在一个单独的线程或线程中进行繁重的工作.这样你的主线程可以确保你有一个响应程序,工作线程可以完成繁重的工作.
这适用于繁重的数据库工作,但也适用于例如下载文件或情况,例如远程服务器的答案可能需要很长时间.

但是这个答案可能会给你更多的答案,因为解释如何使用多线程对这个问题的解释太大了.

另一件事是:对数据库代码进行长时间的严格审查.你是如何从数据库中检索记录的,数据库上是否有好的索引等等.在开始考虑多线程之前,你可以通过优化这些代码来提高疯狂的速度.

我找到了以下资源:http://thaddy.co.uk/threads/,你可以下载图片:http://cc.embarcadero.com/item/14809是非常有用的线程教程.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读