如何能让循环的速度1秒1次?

NEEZA哪吒 2022-11-16 08:24:44

 While Not ADOQuery1.Eof do
  begin
  //这里有一段向数据库写入大量数据的代码,所以这样他就会卡死。所以我想1秒1次,这样是不是就会好些
    ADOQuery1.Next;
  end;

...全文
107 8 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
YiYanXiYin 2022-11-23
  • 打赏
  • 举报
回复 1

用timer或者自定义一个延时函数(参考https://www.cnblogs.com/xenli/p/12468795.html)%E5%8F%AF%E4%BB%A5%E6%BB%A1%E8%B6%B3%E4%BD%A0%E7%9A%84%E8%A6%81%E6%B1%82), 但你这个解决方案不是很好, 更好的做法另外开一个线程来做, 百度多线程

戏言zare 2022-11-18
  • 打赏
  • 举报
回复 1

大量插入你首先考虑的不是事务而是定时?

幻灰龙 2022-11-18
  • 打赏
  • 举报
回复 1

让出 CPU 时间片

秋天之落叶 2022-11-18
  • 打赏
  • 举报
回复 1

找个多线程的例子看看就会了。可以理解为并发。虽然我也头疼多线程。

  • 打赏
  • 举报
回复

耗时操作放在单独线程里,不要放在主线程中

NEEZA哪吒 2022-11-17
  • 举报
回复
@日立奔腾浪潮微软松下联想 多谢,我是真不会,您的意思是在弄一个独立的EXE吗?
tanqth 2022-11-17
  • 举报
回复
@NEEZA哪吒 是线程,不是进程。
tanqth 2022-11-16
  • 打赏
  • 举报
回复

不会好。你居然是大量,你1秒一次,那得花多少时间啊。

相关推荐
发帖
Delphi

5214

社区成员

Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
帖子事件
创建了帖子
2022-11-16 08:24
社区公告
暂无公告