线程:是一个程序内部的执行路径。普通程序只有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;执行完m2后,再执行m3;m3执行完后再原路返回执行m1.
示意图:
Tip:此处只有一条路径,为单线程。多线程为几条路径并行,无先后顺序。如图:
Tip: 其实在单核CPU上并不是真正的多条并行,而是CPU将自己的处理时间分成多个时间块。在不同的时间块里一会执行这个线程,一会执行另一个线程。