概念:
进程:运行中的程序;操作系统会给这个程序分配一定的资源(占用内存资源);
线程:线程是 CPU 调度的基本单位,每个线程执行的都是某一个进程的代码的某个片段;
明确线程是由谁去调用的:线程在执行某一段代码时是谁调用的?是CPU进行调用的,CPU会给县城分配时间片去让其执行;
进程与线程的关系:进程就是线程的容器,线程利用进程中的一些资源,处理某些功能的代码,最终实现进程所预期的结果;一个进程至少要有一个线程;
● 进程与线程的区别
○ 根本不同:进程是操作系统分配的资源;而线程是CPU调度的基本单位;
○ 资源方面:同一个进程下的线程共享进程中的一些资源;线程同时拥有自身的独立存储空间(每个线程存储东西时是存储在CPU内部)。进程之间的资源通常是独立的(两个进程间进行交互成本是很高的);
○ 数量不同:进程一般指的就是一个进程。而线程是依附于某个进程的,而且一个进程中至少会有一个或多个线程。
○ 开销不同:
举例:
房子与人
房子就是一个进程;
房子里有人,每个人就是一个线程;
人在房子里做一些事情,包括吃饭、学习、睡觉;可以看作为线程在执行具体功能的代码;