나는 Thread.descendent 클래스를 작성했고 execute 메소드에서 com 이벤트를 수신하기 위해 무한 루프를 작성했는데이 작업을 수행하기 위해 무한 루프를 사용하는 잘못된 스레딩 연습으로 간주됩니까? 응용 프로그램이 잘 작동, 동결하지 않고 allways 반응입니다, 난 그냥 스레딩하는 가장 좋은 방법을 사용하기 때문에 나는 대답.TThread.Execute 안에 무한 루프를 두는 것은 나쁜 습관이라고 생각합니까?
procedure TMyThread.Execute;
begin
while True and not Terminated do
begin
AResult:= FListener.GetResult(Param1,Param2,5000);
if not VarIsNull(AResult) then
Synchronize(Process);
end;
end;
루프를 종료하는 이벤트가있는 경우 실제로는 무한하지 않습니다. – drudge
이벤트가없는 경우 FListener.GetResult가 대기합니까? –
'TMyThread.Terminate'를 쓰레드를 멈추려면,'true와 not terminated do' 행을 확인하십시오. 여기서 스레드가 종료되었는지 확인합니다. ' – Salvador