A dúvida é simples: O livro da Kathy afirma que o comportamento da funcionalidade do join() não é garantida, porém eu li na internet que era, daí fazendo alguns testes eu constatei, que o comportamento da aplicação fica constante, pelo menos as 30 vezes q eu executei, ele imprimiu o esperado!!!
Afinal de contas o comportamento é ou não garantido???w
Join() throws InterruptedException
1 Resposta
A dúvida é simples: O livro da Kathy afirma que o comportamento da funcionalidade do join() não é garantida, porém eu li na internet que era, daí fazendo alguns testes eu constatei, que o comportamento da aplicação fica constante, pelo menos as 30 vezes q eu executei, ele imprimiu o esperado!!!
Afinal de contas o comportamento é ou não garantido???w
public static void main (String ...args){
Thread t = new Thread();
t.start();
t.join();
}
A thread main espera até que a thread referenciada por t termine sua execução para pode prosseguir. Sempre. Invariavelmente.
Exemplo:
public class Main {
public static void main(String[] args)throws Exception {
System.out.println ("Início de main.");
Thread t = new Thread (new Runnable (){@Override
public void run() {
System.out.println ("Início da thread auxliar");
try{
Thread.sleep(100000);
}
catch (Exception e){
e.printStackTrace();
}
System.out.println ("Fim da thread auxiliar");
}});
t.start();
t.join();
System.out.println ("Fim de main");
}
}
A saída deste programa SEMPRE será:
Início de main.
Início da thread auxliar
Fim da thread auxiliar
Fim de main
Perceba que a thread auxiliar dorme por um tempo considerável, porém, graças ao join, a thread main não executa até que a auxiliar termine seu método run.
Agora, o que pode acontecer é a thread auxiliar ter sido interrompida em algum momento antes de main invocar join. Neste caso uma InterruptedException é lançada.
Criado 24 de janeiro de 2010
Ultima resposta 24 de jan. de 2010
Respostas 1
Participantes 2
Alura O que é Python? — um guia completo para iniciar nessa linguagem de programação Acesse agora o guia sobre Python e inicie sua jornada nessa linguagem de programação: o que é e para que serve, sua sintaxe e como iniciar nela!
Casa do Codigo Engenharia de Prompt para Devs: Um guia para aprender a... Por Ricardo Pupo Larguesa — Casa do Codigo