Método join() não quer funcionar...[resolvido]

2 respostas
evertonsilvagomesjav

Pessoal preciso anexar um thread ao outro mas o join() não esta funcionando, por que o thread que eu preciso que espere esta executando.

Segue o codigo:

ThreadProcesso threadCopy = new ThreadProcesso(gui);
				Thread copy = new Thread(threadCopy);
				copy.start();
				
				
				Thread thread = new Thread(new ThreadExec(gui, threadCopy));
				thread.start();
public void run(){
	
					
				try {
					
					System.out.println("join...");
					
					this.threadCopy.join();
					
				} catch (InterruptedException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}
		
				System.out.println("processando..."); // aqui esta sendo executando antes do meu threadCopy ser concluido, alguem ajuda?
				
				ExecInstall exec = new ExecInstall(this.gui);
			
			try {
			
				exec.executar();
			
				
			} catch (IOException e) {
			// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (InterruptedException e) {
			// TODO Auto-generated catch block
				e.printStackTrace();
			}
				
		}

2 Respostas

zeigfried

Será que o problema não é que você está passando a classe que implementa Runnable threadCopy ao invés da thread em si (copy)?
Tente Thread thread = new Thread(new ThreadExec(gui, copy)); , ajustando o construtor de ThreadExec para receber uma Thread como segundo parâmetro.

[quote=evertonsilvagomesjava]Pessoal preciso anexar um thread ao outro mas o join() não esta funcionando, por que o thread que eu preciso que espere esta executando.

evertonsilvagomesjav

Era isso mesmo velho, vlw.

Criado 27 de agosto de 2010
Ultima resposta 27 de ago. de 2010
Respostas 2
Participantes 2