olá pessoal,
fiz um pequeno exemplo da utilização de Threads, mas o resultado gerado não está de acordo com minhas expectativas. Alguém me ajudaria a entender o que está acontecendo???
o programinha é simples, apenas passa uma implementação da interface Runnable para três threads. dentro do método run, a thread dorme por um período definido de tempo (3 segundos).
public class ExibaMe implements Runnable{
public void run() {
try {
for (int i=0; i < 10; i++){
System.out.println(Thread.currentThread().getName());
Thread.sleep(3000);
}
} catch (InterruptedException i){
i.printStackTrace();
}
}
}
public class TestaTresThreads {
public static void main (String [] args){
ExibaMe e = new ExibaMe();
Thread t1 = new Thread(e);
Thread t2 = new Thread(e);
Thread t3 = new Thread(e);
t1.setName(“Thread 1”);
t2.setName(“Thread 2”);
t3.setName(“Thread 3”);
t1.start();
t2.start();
t3.start();
}
}
O Problema é que a saída sempre é gerada da mesma forma, mesmo rodando o programa diversas vezes. Eis a saída que sempre é gerada:
Thread 1
Thread 2
Thread 3
Thread 1
Thread 2
Thread 3
Thread 1
Thread 2
Thread 3
Thread 1
Thread 2
Thread 3
Thread 1
Thread 2
Thread 3
Thread 1
Thread 2
Thread 3
Thread 1
Thread 2
Thread 3
Thread 1
Thread 2
Thread 3
Thread 1
Thread 2
Thread 3
Thread 1
Thread 2
Thread 3
Posso estar enganado, mas pelo que tinha entendido do conceito de Threads, esta saída possivelmente seria diferente a cada execução do programa.
Estou usando o ubuntu 6.06
obrigado pela ajuda.
Rodrigo