Duvida Execução de uma Thread

3 respostas
E

Bom dia pessoal,
Já li alguns artigos sobre threads aqui no próprio fórum mas me restaram algumas duvidas sobre o seu funcionamento, no meu caso em especifico.

por exemplo:

Eu possuo um applet, com suas respectivas chamadas do metodo init(), start(), porém eu tenho uma barra de ferramentas em minha applet que é muito demorada para ser carrada, por exemplo new MinhaBarraDeFerramentas() seu construtor chama os métodos que causam a lentidão para carregar o applet cerca de 7 minutos em sistemas Mac Os, um problema terrível de performance. A pergunta é a seguinte:

Se eu fizer algo do tipo

MinhaBarraDeFerramentas minhaBarra = new MinhaBarraDeFerramentas(); Thread threadDaMinhaBarraDeFerramentas = new Thread(minhaBarra); threadDaMinhaBarraDeFerramentas.start();

E dentro da classe MinhaBarraDeFerramentas sobre do metodo run() chamar os outros métodos para criar todos os menus e botões, e em paralelo continuar a execução do método init(), quando o método init() terminar provavelmente a threadDaMinhaBarraDeFerramentas ainda estará em execução, mesmo minha thread estando em execução, e o método init() já ter chegado ao fim, irá acontecer a chamada do método start() ?

Caso ocorra a chamada do método start() ela será processada normalmente ? (assumindo que não haja nenhum problema sobre o escalonamento)

Após finalizar o start() da minha applet a chamada dos métodos paint(Graphic g) stop() e destroy() irão ocorreu normalmente ?

O úsuario conseguirá utilizar o applet mesmo sem o termino do processamento da minha thread ? (pelo menos os outros recursos que já foram carregados fora da thread)

Por curiosidade a lentidão é causada por quem tenho um Choice com muitas opção cerca de 2.500 aproximadamente, e não posso remove-las, e este Choice é realmente necessário, e a idéia principal é carrega-lo em momento de execução e o usuário poder utilizar o applet sem ter que esperar todo processamento do Choice e quando o Choice estiver totalmente processado aparecer na tela em tempo de execução.

Vlw galera, se alguém souber algumas destas respostas estarei de prontidão.

Caso não fui claro em algum ponto podem perguntar…

Obrigado,

3 Respostas

lina

Oi,

-> Método start() de quem?

-> Se for o start da Thread sim.


Após finalizar o start() da minha applet a chamada dos métodos paint(Graphic g) stop() e destroy() irão ocorreu normalmente ?

-> Sim.


O úsuario conseguirá utilizar o applet mesmo sem o termino do processamento da minha thread ? (pelo menos os outros recursos que já foram carregados fora da thread)

-> Sim.

A ideia de usar Thread é muito boa, o problema é que não entendi as suas dificuldades direto rs

Espero ter ajudado

Tchauzin!

E

No caso aqui é a chamada do método start() do Applet() - se chegar ao fim o método init()‘Applet’ será chamado o método starta()‘Applet’ normalmente?

-> Se for o start da Thread sim.
Está é a continuacão da outra pergunta no caso método start() da Applet


Após finalizar o start() da minha applet a chamada dos métodos paint(Graphic g) stop() e destroy() irão ocorreu normalmente ?

-> Sim.

O úsuario conseguirá utilizar o applet mesmo sem o termino do processamento da minha thread ? (pelo menos os outros recursos que já foram carregados fora da thread)

-> Sim.

Obrigado tirou muitas duvidas sim, vou tentar implementar agora e ver se dar certo… já posto o resultado ou mais dúvidas rss

Vlw

E

Lina

Deu tudo certo melhorou e muito a performance da Applet.

Obrigado por me ajudar com as duvidas

Criado 23 de novembro de 2011
Ultima resposta 24 de nov. de 2011
Respostas 3
Participantes 2