escribí una clase Thread.descendent y en el método de ejecución puse un bucle infinito para escuchar un evento com, se considera una mala práctica de Threading usar un ciclo infinito para hacer esto? las aplicaciones funcionan bien, no se congelan y siempre responden, solo respondo porque quiero usar el mejor método para enhebrar.¿Se considera una mala práctica poner un bucle infinito dentro de 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;
Si hay un evento que finaliza el ciclo, realmente no es Infinito, ¿o sí? – drudge
¿FListener.GetResult espera si no hay ningún evento? –
Para detener el hilo utilizo 'TMyThread.Terminate', verifique la línea' while True and not Terminated do' donde verifico si el hilo está terminado. ' – Salvador