线程:是一个程序内部的执行路径。普通程序只有main()一条路径。如下列程序:
import java.lang.Thread; //导入线程实现包
public class Test_Thread {
public static void main(String[] args) {
// TODO Auto-generated method stub
m1();
}
public static void m1() {
m2();
m3();
}
public static void m2() {
}
public static void m3() {
}
}
其执行路径为:先执行m1;进入m1后未执行完又执行m2;执行完m2后在执行m3;m3执行完后再原路返回执行m1.
示意图:
Tip:此处只有一条路径,为单线程。多线程为几条路径并行,无先后顺序。如图:
Tip: 其实在单核CPU上并不是真正的多条并行,而是CPU将自己的处理时间分成多个时间块。在不同的时间块里一会执行这个线程,一会执行另一个线程。