J'ai écrit une classe Thread.descendent et dans la méthode d'exécution j'ai mis une boucle infinie pour écouter un événement com, est considéré comme une mauvaise pratique Threading utiliser une boucle infinie pour le faire? les applications fonctionnent bien, ne gèlent pas et sont toujours sensibles, je réponds juste parce que je veux utiliser la meilleure méthode pour enfiler.Est-il considéré comme une mauvaise pratique de placer une boucle infinie à l'intérieur 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;
S'il y a un événement qui termine la boucle, ce n'est pas vraiment Infinite maintenant? – drudge
FListener.GetResult attend-il s'il n'y a pas d'événement? –
Pour arrêter le thread, j'utilise 'TMyThread.Terminate', vérifiez la ligne' while True et non Terminé do' où je vérifie si le thread est terminé. ' – Salvador