调用的顺序和机制这位博客的说法已经很明确:
通过JDK源码解析Thread(Runable target ...)调用的是哪个run方法
接下来请看下面的例子:
public class Demo5 {
public static void main(String[] args) {
I i=new I();
new Thread(i).start();
new Thread(i).start();
}
}
class I implements Runnable{
private int i=0;
public void run() {
for(;i<200000;i++) {
System.out.println(i);
}
}
}
两个线程里的target是同一个,共享一个变量i值,输出除了0其他的只会有一个,顺序不一定