问个线程问题~主线程与自创的线程
代码如下
public class Machine extends Thread{
private int a=0;
public void run(){
for(a=0;a<10;a++){
System.out.println(currentThread().getName()+":"+a);
try{
sleep(100);
}catch(InterruptedException e){throw new RuntimeException(e);}
}
}
public static void main(String args[]){
Machine machine=new Machine();
machine.start();
machine.run();
}
}
运行结果是:
main:0
Thread-0:0//为什么出现两次0了???
main:1
Thread-0:2
main:3
Thread-0:4
main:5
Thread-0:6
main:7
Thread-0:8
main:9
疑问就是:为什么会出现两次0,不是两个线程都同时操作同一个实例变量吗?