这里的输出是SCJP转储一个问题:掌握两个线程执行
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();
}
}
可能是什么结果?
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,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,
在转储它说答案是A和C.但是,我不知道h由于最后一个输出(6)比之前的输出小,所以可以回答A。