关于计时器的问题,为何总时间大于设计的时间呢?菜鸟请教!在线等.........................

b634294 2006-04-17 04:40:56
我往数据库中插入5万条数据,用循环插入,共用了不到4分钟。但是我用计时器想控制节奏插入,设计共用10分钟插入这5万条,每隔一定时间插入一次,但是为什么用这样子插入五万条用的总时间大于我设计的总时间10分钟呢?
我计算的时间间隔,也就是计时器的interval应该没错的。

...全文
139 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
b634294 2006-04-18
  • 打赏
  • 举报
回复
发现总时间还是有误差的,还不是很精确.
qlwuu 2006-04-17
  • 打赏
  • 举报
回复
靠,拷贝下来没改符号...

while (GetTickCount-begtime < 100) do // <- 这里改成小于
...
qlwuu 2006-04-17
  • 打赏
  • 举报
回复
楼上的回答太强了,我是指最后的部分... @_@

程序有问题,要这样写一次也执行不了,第一次的GetTickCount-begtime > 100就退出了,

var
begtime: cardianl;
begin
while not terinated do
begin
begtime := GetTickCount;
while (GetTickCount-begtime > 100) do
sleep( 10 ); // 稍微休息一下,要不然cpu一直100%

doSomething();
end;
end;

这样也不是完全精确的,因为doSomething()的时间没法控制。
happyct 2006-04-17
  • 打赏
  • 举报
回复
var
begtime: dword;
begin
begtime := GetTickCount;
while (GetTickCount-begtime > 100) and (not Terminated) do //具体间隔时间你自己调整
begin
dosth...
begtime := GetTickCount;
end;

附,严重警告提问人:

你这种情况,在程序里面出现一下没事,如果和你老婆或是女友之间出现的话,一定要及早调整或是去医院检查
happyct 2006-04-17
  • 打赏
  • 举报
回复
晕死,csdn也有“发出回复”的快捷键或是热键?
happyct 2006-04-17
  • 打赏
  • 举报
回复
var
b634294 2006-04-17
  • 打赏
  • 举报
回复
可否请楼上具体说点,我不清楚这个用法啊GetTickCount.我必须定时更新数据库,不能早也不能晚.
hhnick 2006-04-17
  • 打赏
  • 举报
回复
timer响应的wm_timer消息,有的时候不够精确.
postren 2006-04-17
  • 打赏
  • 举报
回复
用GetTickCount比Timer精确
timer不精确的

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧