1.进程可以简单理解为在操作系统中运行的一个程序。
2.线程(thread)是进程的一个执行单元,一个线程就是进程中一个单一顺序的控制流,进程的一个执行分支
进程是线程的容器,一个进程中至少有一个线程,一个进程中也可以有多个线程
3.在操作系统中,是以进程为单位分配资源,每个线程都有各自的线程栈,自己的寄存器环境,自己的线程本地存储
4.主线程与子线程:jvm启动时会创建一个主线程,该主线程执行main方法,主线程就是运行main方法的线程,java中的线程不是孤立的,线程之间也会存在一些联系。
一个例子:
package Thread01;
public class T1 extends Thread{
@Override
public void run() {
System.out.println("子线程打印的内容 ");
}
}
package Thread01;
public class test1 {
public static void main(String[] args) {
System.out.println("java虚拟机启动main线程");
T1 thread = new T1();
thread.start();
/*
调用线程的start()方法来启动线程,启动线程的实质就是请求jvm运行相应的线程,但是
这个线程具体什么时候启动,由线程调度器(scheduler)决定,因此start()的执行
顺序,并不一定是线程的启动顺序。
*/
System.out.println("main线程之后的代码、、、、、");
/*
从本例可看出多线程与代码执行顺序或者调用顺序无关。
*/
}
}