Java多线程编程核心技术(第二版),章节:1.2.4, 学习笔记
证明:执行start() 的 顺序不代表执行run()的顺序
demo代码:
import java.util.ArrayList;
import java.util.List;
/**
* 证明执行start()方法的顺序与执行run()方法顺序无关
* @author phil
*
*/
class Run4Thread extends Thread{
private int i;
public Run4Thread(int i) {
this.i = i;
}
@Override
public void run() {
super.run();
System.out.println(i);
}
}
public class Run4 {
public static void main(String[] args) {
List<Run4Thread> list = new ArrayList<Run4Thread>();
//创建
for(int i=1;i<=20;i++) {
Run4Thread t = new Run4Thread(i);
list.add(t);
}
//启动
for(int i=0;i<list.size();i++) {
list.get(i).start();
}
}
}
执行结果: