Pessoal, eu fiz conforme o exercício mas, fiquei com dúvida no resultado.
Quando eu rodo a aplicação, ela alterna entres as threads, blz até ai eu entendi. Mas, no caso as thread não começam a ser exibidas desde o início, elas começam a ser exibidas quando for já está na metade para frente
public class Programa implements Runnable{
private int id;
public void setId(int id){
this.id = id;
}
public int getId(){
return this.id;
}
@Override
public void run() {
for(int i = 0; i < 10000; i++){
System.out.println("Programa " + id + "valor: " + i);
}
}
}
public class Exercicio1 {
public static void main(String[] args) {
Programa p1 = new Programa();
p1.setId(1);
Thread t1 = new Thread(p1);
t1.start();
Programa p2 = new Programa();
p2.setId(2);
Thread t2 = new Thread(p2);
t2.start();
}
}
Resultado:
Programa 1valor: 9018
Programa 1valor: 9019
Programa 1valor: 9020
Programa 1valor: 9021
Programa 1valor: 9022
Programa 2valor: 6759
Programa 2valor: 6760
Programa 2valor: 6761
Programa 2valor: 6762
Programa 2valor: 6763
...