Handle | Usado para chamar funções de manipulação de threads type THandle = Integer; |
ThreadID | Identifica a thread no sistema type THandle = Integer; property ThreadID: THandle; |
Start | Inicia a execução de um segmento. Iniciar chamada para fazer com que um segmento que foi criado em estado suspenso para iniciar a sua execução. Para criar um thread em estado de suspensão, passar verdade para o construtor do segmento. Para tópicos que não foram criados em estado de suspensão, chamada Start não tem efeito. Nota: O método Resume é obsoleto e seu uso deve ser evitado. Use o método Start vez.Starts the execution of a thread. Inicia a tarefa, ou seja: executa o método Execute. Obs: Dever ser checado se a tarefa está parada antes de executar este método. Exemplo: if (Not Thread_01.Terminated) and (Thread_01.Suspended) then Thread_01.Start; |
Suspend | Supende a tarefa. Obsoleto. |
Suspended | Solicita suspensão da thread. |
WaitFor | Espera a thread terminar e retorna a propriedade ReturnValue. Observe que o método WaitFor neste caso não apresenta parâmetros. Quando aplicado a objetos de sincronização este método terá como parâmetro o tempo de timeout. Exemplo: procedure TForm1.Button3Click(Sender: TObject);
var
cRet : Cardinal;
begin
//Manda Terminar....
Self.FThread.Terminate;
//Verifica se a thread não esta suspensa...
if not (Self.FThread.Suspended) then
begin
//Aguarda o término da Thread
cRet := Self.FThread.WaitFor;
Log(Format('Retornou: [%d]',[cRet]));
end else
begin
Log('Esta suspenso');
end;
//Livra a instância...
Self.FThread.Free;
Self.FThread := nil;
end; |
Terminated | Indica que o término da thread foi pedido. O método terminate ativa o flag Terminated. |
Priority |
|
ReturnValue | Valor retornado pela thread property ReturnValue: Integer |
Free OnTerminate | Deve ser definido como TRUE para liberar a thread quandoterminar. Se for FALSE, a aplicação deve terminar a thread explicitamente. |
Execute | O exemplo:procedure TMinhaThread.Execute;
begin
try
while not (Self.Terminated) do
begin
Sleep(1);
Application.ProcessMessages;
{...}
{...}
//Ponto estratégico para verificação...
if (Self.Terminated) then
Abort;
{...}
{...}
end;
except
on E: Exception do
begin
{...}
end;
end;
end; |
Syncronize | Executa a chamada a um método dentro da thread primária da VCL (Visual Component Library). type TThreadMethod = procedure of object; procedure Synchronize(Method: TThreadMethod); Synchronize causa a chamada especificada por Method a ser executada usando a thread primária, evitando conflito de acesso simultâneo a um mesmo componente entre as threads. A execução da thread fica suspensa até que o método seja executado no contexto da thread principal. Outra maneira de se assegurar a exclusão mútua será através do uso de objetos de sincronização ou do multi-read exclusive-write synchronizer. |
OnTerminate | Ocorre após o método Execute da thread ter retornado e antes da thread ser destruída. property OnTerminate: TNotifyEvent; O programador deve escrever um handler para o evento OnTerminate após o término da execução da thread. O handler será chamado no contexto da thread principal, o que significa que os métodos e propriedades VCL podem ser chamados livremente. |
Notas: |
|
Referências | As refência nao estão mais no ar. |
Comentários
Postar um comentário