Stack Overflow em Português Asked by Diego_F on November 5, 2021
Na maioria dos exemplos que encontrei a estrutura de uma Task básica é:
procedure
var
FTask : ITask;
begin
FTask := TTask.Run(
procedure
begin
//código a ser executado dentro da Task;
TThread.synchronize(TThread.CurrentThread,
procedure
begin
//Código que executa dentro da Thread principal;
end);
end;
);
end;
Onde TThread.CurrentThread
indica qual em qual Thread o código vai executar, mas já vi também exemplos de código em que no lugar de TThread.CurrentThread
é passado nil
, qual a diferença? Como funciona? O SO vai decidir por conta própria qual Thread vai executar o código?
Isso não é onde o codigo vai ser executado, mas sim com que thread vai ele sincronizar. No caso de passar nil vai ser com a Main Thread (só há uma) a TThread.CurrentThread representa a thread atual, qualquer que seja
Answered by Tiago Rodrigues on November 5, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP