• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

axpppp

thread

9 mensagens neste tópico

Boas

eu tenho uma thread para fazer varios desenhos no picturebox, o problema é que quero fazer com que ela faça restart ou mesmo acabe...ou seja que seja possivel chamar essa mesma thread no decorrer do programar varias vezes, quantas vezes eu quiser....

Dim threadbomba As New Thread(New ThreadStart(AddressOf animacaobomba))

declaro a thread

depois tenho programado para quando clicar no f a animaçao da bomba (thread) começa a ser exectuda....

faço as animaçoes da bomba usando a thread pra fazer refresh a animação

no fim da animaçao da bomba eu chamo o

threadbomba.abort()

se depois clicar outra vez no f da me este erro

http://img2.imageshack.us/img2/2450/img1twe.jpg

alguem me pode ajudar???

cumpz

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Primeiro, uma thread é tipo como as pessoas, só vive uma vez. Depois de morrer kaput não há renascimentos nem nada do género.

Portanto metes a parte de criar a thread (para alem de começar a sua execução) quando clicas no f.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

:cheesygrin:

obrigado pela dica =D

nem sabes o quanto ajudaste =D

topico resolvido

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Outra coisa, deves usar sempre o Try, porque permite o programa continuar a trabalhar mesmo depois de um erro desse.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

so mais uma coisa....

sera possivel 2 threads em execução acederem a mesmo private sub ?? sem entrarem em conflito devido as varias variaveis??

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O Sincronismo tens q ser tu a garantir, através de Monitores por exemplo.

A tua aplicação só por si não é thread-safe.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ola,

O que precisas é  fazer uma classe que geralmente se chama worker thread.

Se procurares no google por isso existem varios exemplos.

Basicamente poes a tua thread a correr um loop infinito e dentro desse loop testas qd queres que ele termine ou execute qq coisa.

Depois atraves de metodos publicos alteras as variaveis que testas no loop.

Assim o thread só morre qd tu quiseres.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu tou a perceber o teu ponto de vista....mas acho que ha um outra forma para resolver o meu problema...

porque o meu problema esta quando eu inicio uma thread...ele executa-a bem...mas se exectutar a 2 thread ele sobre poem a primeira....pelo menos a nivel grafico...(tou a falar em desenhar numa picturebox)

deveria haver uma maneira de executar a 1ª thread e logo de seguida, se quissesse, podesse executar a 2º sem estas entrarem em conflito de variaveis

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se queres q uma thread execute e pare, para outra depois começar a executar, não precisas de 2 threads a executar código paralelo, podes fazer tudo numa com código sequencial.

O facto das duas sobreporem o resultado é pq as picture box n são thread safe, esse mecanismo tens q ser tu a implementar como for necessário p ti.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora