Thread ou While

Galera seguinte, minha duvida é sobre o uso do while na Classe ou uma thread externa, queria qual é mais recomendado em termos de processamento etc.

No caso ambos seriam chamados por um evento.

ex.


          while(variavelGlobal){
	     capturarImagemDesktop();
	  }

ou


ThreadCapturarImagemDesktop e = new ThreadCapturarImagemDesktop(files,idMaterial); 
Thread t = new Thread(e); 
t.start(); 

Agradeceria muito se colocarem as diferenças tb

[]s

No meu ponto de vista, é melhor você utilizar uma Thread.
Caso você não à utilize seu processamento da janela irá parar, o usuário não irá conseguir
fazer outra coisa no sistema se o teu while não estiver já terminado.

abraço

hum… boa…

[quote=h4lls]Galera seguinte, minha duvida é sobre o uso do while na Classe ou uma thread externa, queria qual é mais recomendado em termos de processamento etc.

No caso ambos seriam chamados por um evento.

ex.


          while(variavelGlobal){
	     capturarImagemDesktop();
	  }

ou


ThreadCapturarImagemDesktop e = new ThreadCapturarImagemDesktop(files,idMaterial); 
Thread t = new Thread(e); 
t.start(); 

Agradeceria muito se colocarem as diferenças tb

[]s
[/quote]

Cuidado com o termo varivel global, em java isso não existe.
Sobre sua pergunta depende! Vc vai ter outro processo em paralelo?
Qual a necessidade de capturar essas imagens.
Vc pode extrair essa captura em uma classe sempara? Se não for precisar de algo paralelo não vejo a necessidade de Thread.
Threads são legais, mas sou a favor do mais simples possivel, se puder evitar evite.
Mas não é por isso que ira fazer um código espaguete tb.
Mas pelo q entendi eu não utilizaria thread para uma coisa simples (estou interpretando o q vc escreveu).
Falow

[quote=looljunior]No meu ponto de vista, é melhor você utilizar uma Thread.
Caso você não à utilize seu processamento da janela irá parar, o usuário não irá conseguir
fazer outra coisa no sistema se o teu while não estiver já terminado.

abraço[/quote]
vc pode utilizar Thread como classe interna anonima, q não irá travar o Frame.
Mas isso seria mais complexo ainda.

Utilize o Thread, somente se você precisar de dois processamentos de uma vez, pois com a utilização do While, você não poderá executar outro processamento antes que o While chegue ao final! No entanto, vai depender do que você realmente vai precisar!

Entendi tambem. 2 alternativas.

andredemelo ok.

No meu caso seria: Minha app rodando, dai o usuario da Alt + Tab ou minimiza a app, Nesse ponto estou gerando um video de todas as suas ações no Desktop. Por isso fiquei em duvida em qual caminho seguir.

Em seu caso então, o melhor a se utilizar é o Thread mesmo ao invéd do While!!

creio que sim tb.

Pode usar o invokeLater.

[code] java.awt.EventQueue.invokeLater(new Runnable() {

        @Override
        public void run() {

              // o que precisa ser executado aqui.

        }
    });[/code]

[quote=juliocbq]Pode usar o invokeLater.

[code] java.awt.EventQueue.invokeLater(new Runnable() {

        @Override
        public void run() {

              // o que precisa ser executado aqui.

        }
    });[/code][/quote]

Interessante…