quinta-feira, 18 de fevereiro de 2010

Nomeação de Thread

Quando se trabalha com programação multi-thread é bem complicado depurar.

A nomeação de uma thread ajuda, como na figura abaixo:



Essa tarefa no Delphi 2010 ficou facilitada. No método Execute da sua thread, coloque a seguinte linha de código:

procedure TAVFinder.Execute;
begin
inherited;
{$IFDEF VER210}
Self.NameThreadForDebugging(Self.ClassName);
{$ENDIF}
IdentificarPID(Self.ClassName,3);
Self.ProcessarMAP;
_GerarLog(GetCurrentThreadId,Now,sArquivoLog,ctLOGInformation,rlHigh,14,Format('Arquivo MAP - Existe: [%s] Path: [%s] Tempo Processamento: [%s]',[BooleanToString(Self.FExiste,'SIM','NÃO'),Self.FArquivoMAP,Self.FTempoProcessamento]));
while not (Self.Terminated) do
begin
Sleep(10);
end;
end;


Justo?

Minha lista de blogs