主线程等待一个 无阻塞函数 死循环子线程的安全退出
子線程:
procedure TreadThread.Execute;
begin
?? inherited;
?? FreeOnTerminate := True;
?? while not Terminated do begin
????????dosomething;
????? end;
????? Sleep(100);
?? end;
end;
?
主線程:
var
?? H: array[0..0] of Thandle;
begin
????? try
???????? H[0] := RCThread.handle;
?????????// 安全退出子線程
???????? RCThread.Terminate;
???????? if MsgWaitForMultipleObjects(1, H, True, 1000, QS_ALLINPUT) = WAIT_OBJECT_0 then begin
????????????//線程已經(jīng)安全退出
???????? end;
?????except
???????? on e: Exception do
??????????? ShowMessage(e.Message);
????? end;
end;
轉(zhuǎn)載于:https://www.cnblogs.com/lzj1981/archive/2013/04/28/3049021.html
新人創(chuàng)作打卡挑戰(zhàn)賽發(fā)博客就能抽獎!定制產(chǎn)品紅包拿不停!總結(jié)
以上是生活随笔為你收集整理的主线程等待一个 无阻塞函数 死循环子线程的安全退出的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android开发之多点触摸(Multi
- 下一篇: ZOJ 1760 How Many Sh