GARANTIR DESCONTO

Fórum Thread (Preciso destrui-la após o uso?) #350786

19/12/2007

0

Prezados Amigos...
Estou utilizando pela primeira vez a realização de um processo em uma thread, pois este mesmo processo se executado de forma convencional(sem thread) o mesmo estava travando a tela principal de minha aplicação, e tinha que ficar aguardando uma vida pra terminar o processo, e somente após seu termino eu conseguia usar a aplicação normalmente.
O processo que estou utilizando, peguei em um artigo e pelo que vi é bem simples, conforme a seguir:
Tenho um procedimento (pesado) que demanda um certo tempo de processamento chamado Verifica_Backup(), e com a dica que peguei de utilização do mesmo em uma thread a chamada ao mesmo ficou assim:

CreateThread (nil, 0, @Verifica_Backup, nil, 0, ThreadID);

Então quanto aos resultados, realmente me surpreendeu, pque o processo é executado e a aplicação trabalhar tranquilamente sem travar.
Agora gostaria de saber, se tenho que dentro do Procedimento Verifica_Backup() ou após a chamada ao mesmo (via thread), tenho que dar algum comando de destruição da thread na memoria.
Ou o simples fato do processo terminar, a thread sai da memoria automaticamente?
Conto com vcs....

Obs: Outra dica que gostaria, é que vou precisar realizar outro processo que tb usarei a thread e dentro do bloco de codigo, tenho chamadas à herança. Gostaria de saber como fica isso? Terei que pegar todo o codigo do botão (que aciona a heranca) e passar para um procedimento que chamarei via thread? Se o comando inherited da herança estiver dentro de um bloco (procedure) a parte, ele vai entender que a herança é referente ao botão do form pai? Sei lá.. isso tudo está me deixando em duvidas...
Conto com vcs...


Pablo_lima

Pablo_lima

Responder

Posts

19/12/2007

Massuda

Um pequeno comentário: Delphi tem uma classe chamada TThread que encapsula uma thread do Windows, facilita bastante o que você está fazendo.


Responder

Gostei + 0

19/12/2007

Pablo_lima

Um pequeno comentário: Delphi tem uma classe chamada TThread que encapsula uma thread do Windows, facilita bastante o que você está fazendo.


Ok Massuda...
Agradeço a dica... mas me diga uma coisa...

Pelo que entendi.. para resolver o que estou necessitando basta que eu utilize o comando como apresentei no topico.
Preciso fazer algo a mais? relacionado ao processamento da thread ou destruição da mesma para não ficar ocupando memoria no sistema, etc?
Pque pelo que vi.. pra mim já resolver meu problema... Só estou com receio de essa tal de thread depois de criada... caso tenha que destrui-la e eu não o faça.... a mesma possa prejudicar o sistema do usuario... por estar na memoria.. etc...


Responder

Gostei + 0

19/12/2007

Massuda

Voltando à questão original: sim, você precisa destruir a thread depois que ela terminar.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar