S
seeok
Unregistered / Unconfirmed
GUEST, unregistred user!
在两个线程同时执行时,点个按钮强制停止,即把两个线程Free掉,然后再点开始按钮时,再Create两个线程,但有时偶尔会出现一个线程不执行的情况,不知道这是什么原因引起的呢?两个线程的写法如下(只给出一个,两个类似):
procedure TDothread.Execute;
var
iLast : Cardinal;
iNow : Cardinal;
begin
iLast := GetTickCount;
while not Terminateddo
begin
Sleep(10);
iNow := GetTickCount;
if (iNow-iLast)>=iInterval*1000 then
begin
FrmMain.DoIt;
iLast := iNow;
end;
end;
end;
procedure TDothread.Execute;
var
iLast : Cardinal;
iNow : Cardinal;
begin
iLast := GetTickCount;
while not Terminateddo
begin
Sleep(10);
iNow := GetTickCount;
if (iNow-iLast)>=iInterval*1000 then
begin
FrmMain.DoIt;
iLast := iNow;
end;
end;
end;