public class Demo {
private static int i = 10;
public static void main(String args []){
new Thread(new Runnable() { @Override
public void run() {
i++;
i++; }
}).run();
System.out.println(i); }
}
输出是什么,原因呢....
public class Demo {
private static int i = 10;
public static void main(String args []){
new Thread(new Runnable() { @Override
public void run() {
i++;
i++; }
}).run();
System.out.println(i); }
}
输出是什么,原因呢....
首先要说的此代码中并没有开启新线程,因为开启一个线程是调用start()方法,在这里只是调用了run()方法,就像调用一般方法一样,调用run()方法之后
,i变量进行了两次自增操作,所以最后输出结果为:12 而且一定是12 ,没有楼上那个人说的那样结果。