Voici une question de la décharge SCJP:Obtenir la sortie avec deux fils d'exécution
public class Threads1 {
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.print(current + ',');
x=current +2;
}
}
}
public static void main(String[] args){
new Threads1().go();
}
public void go(){
Runnable r1 = new Runner();
new Thread(r1).start();
new Thread(r1).start();
}
}
Quels sont les résultats possibles?
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,
dans la décharge, il dit que les réponses sont A et C. Cependant, je ne sais pas h La réponse A peut être possible car la dernière sortie (6) est plus petite que les sorties précédentes.