T
Toysun
Unregistered / Unconfirmed
GUEST, unregistred user!
某个线程的代码段如下
var
t:dword;
i:Integer;
begin
i:=0;
t:=gettickcount;
while not self.Terminateddo
begin
if gettickcount-t<1 then
continue;
t:=GetTickCount;
inc(i);
end;
end;
理论上看,一秒内是否变量i的数值应该增加1000?
但我的执行结果是64左右;而去掉限制
var
i:Integer;
begin
i:=0;
while not self.Terminateddo
begin
inc(i);
end;
end;
这样执行的话每秒变化几万次。
我的问题是:有办法有效控制线程执行速度吗?怎么做呢?
var
t:dword;
i:Integer;
begin
i:=0;
t:=gettickcount;
while not self.Terminateddo
begin
if gettickcount-t<1 then
continue;
t:=GetTickCount;
inc(i);
end;
end;
理论上看,一秒内是否变量i的数值应该增加1000?
但我的执行结果是64左右;而去掉限制
var
i:Integer;
begin
i:=0;
while not self.Terminateddo
begin
inc(i);
end;
end;
这样执行的话每秒变化几万次。
我的问题是:有办法有效控制线程执行速度吗?怎么做呢?