进程:正在进行的程序
线程:每个功能对于CPU的独立执行路径
一个进程包含单个或多个线程,单线程(网吧多台机器但是只允许一人上网,结束之后才能轮到下一个人),多线程(网吧有多台机器,多人上网)
迅雷下载线程原理.JPG
java 利用 抢占调度线程
/*创建和启动一个线程
* 创建Thread子类对象
* 子类对象调用方法start()
* 让线程程序执行,JVM调用线程中的run*/
public class ThreadDemo {
public static void main(String[] args) {
SubThread st=new SubThread();
st.start();
for(int i=0;i<50;i++) {
System.out.println("main"+i);
}
}
}
public class SubThread extends Thread{
public void run() {
for(int i=0;i<50;i++) {
System.out.println("run"+i);
}
}
}
执行结果
main0
main1
main2
main3
main4
run0
run1
run2
run3
main5
main6
main7
main8
System.out.println(Thread.currentThread().getName());
// static Thread currentThread() 返回正在执行的线程对象 即main的名字