delphi 线程问题 for i := 1 to 10 do begin if Terminated then Exit; sleep(100); end;
fori:=1to10dobeginifTerminatedthenExit;sleep(100);end;这是什么意思。...
for i := 1 to 10 do
begin
if Terminated then
Exit;
sleep(100);
end; 这是什么意思。 展开
begin
if Terminated then
Exit;
sleep(100);
end; 这是什么意思。 展开
2个回答
展开全部
是这让线程等待一秒钟(10*100=1000毫秒)
在等待的这一秒钟内,如果收到终止请求就立即退出线程(最多等100毫秒就能退出)。
这样做法主要是想让线程的实时响应性更好。
这与直接 sleep(1000) 有所区别,如果直接sleep(1000) ,那线程收到终止请求后,就不是立即退出了,而是可能等1000毫秒后才能退出。如果你想等待的时间不是一秒,而是更长时间,那更不能直到用一个sleep来做,记住一定要用一个 for 循环来实现。否则线程会死等在那里。
在等待的这一秒钟内,如果收到终止请求就立即退出线程(最多等100毫秒就能退出)。
这样做法主要是想让线程的实时响应性更好。
这与直接 sleep(1000) 有所区别,如果直接sleep(1000) ,那线程收到终止请求后,就不是立即退出了,而是可能等1000毫秒后才能退出。如果你想等待的时间不是一秒,而是更长时间,那更不能直到用一个sleep来做,记住一定要用一个 for 循环来实现。否则线程会死等在那里。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询