Estava fazendo um simulado e apareceu o seguinte codigo prevendo as seguintes saidas
public class Thread1 {
int x = 0;
public class Runner implements Runnable
{
public void run()
{
int current = 0;
for(int i =0; i<4;i++)
{
current = x;
System.out.println(current + ", ");
x = current + 2;
}
}
}
public void go()
{
Runnable r1 = new Runner();
new Thread(r1).start();
new Thread(r1).start();
}
public static void main(String[] args)
{
new Thread1().go();
}
}
A. 0,2,4,4,6,8,10,6
B. 0,2,4,6,8,10,2,4
C. 0,2,4,6,8,10,12,14
D. 0,0,2,2,4,4,6,6,8,8,10,10,12,12,14,14
E. 0,2,4,6,8,10,12,14,0,2,4,6,8,10,12,14
As respostas corretas sao A e C mas nao entendi o porque e como e possivel prever a saida de duas threads se sao dois processos paralelos e independentes
Muito obrigado a todos desde ja!