进程是内存中运行的一个i应用程序。
进程拥有自己的内存、命名空间
进程拥有安全模式,不会挂掉,但线程如果挂掉则可能整个进程都崩掉
线程是进程的实体
一个进程至少拥有一个线程
CPU执行的是线程。线程共享进程的资源(内存)。进程拥有保护机制。
调度策略。
进程拥有资源,最终是由线程运行在进程的资源上来
线程拥有自己的栈
Java中的线程
- Java使用Thread或Runnable来定义、实例化和启动新线程;Thread或Runnable对象和其他对象没有任何区别,生死于堆上;
- 每个线程都有自己的调用栈;Java从main方法开始运行,main方法所在线程为主线程;同时,新的线程会拥有新的调用栈;
- 线程分为用户线程和守候线程;所有用户线程运行完毕,JVM自动关闭;守候线程是由用户或系统自己创建的;
简而言之举个例子:用户点击运行一个IDEA或Eclipse,这时会创建一个守候线程;之后在程序中运行一个main方法,这时开始运行JVM,自动运行一个用户线程并开始运行程序代码;