进程 线程
进程作为分配资源的基本单位,
线程是独立运行和独立调度(有操作系统内核调度)的基本单位.
进程:
正在运行中的程序,负责程序运行的内存分配,每一个进程都有一个自己独立的虚拟内存空间,进程是一个基本的分配单元,也是一个基本的执行单元,相比较程序,进程是一个动态概念,进程是程序在处理机上的一个执行过程,而程序是一种静态概念,它是一种软件资料在外存上长期有效
要点:
1 进程是一个实体,每个进程都有一个他自己的地址空间,一般情况下,包含数据区域,文本区域,堆和栈.
文本区域存储处理器执行的代码;
数据段存储全局变量,静态变量常亮,还有一些进程执行期间使用的动态分配内存
堆栈区域存储的是进程调用的指令和本地变量
2 进程是一个在内存中运行的程序
进程的缺点:独立的地址造成不同的进程之间的共享状态信息非常困难,为了共享信息,必须显式的使用进程通信机制系统的开销很大, 这就造成了进程之间的通信比较慢,
线程:
是进程中一个独立的执行路径(控制单元),一个进程中至少包含一个线程,即主线程,通常将耗时的执行路径:eg:网络请求放在其他线程执行.
创建线程的目的就是为了开启一条新的执行路径(在进程中开辟了一个上下文的逻辑流),运行指定的代码,与主线程的代码实现并发运行
多线程优势:
1 充分发挥多核处理器的优势,将不同的线程分配给不同的处理器,
2 将耗时操作分配到其他线程执行,由主线程负责统一更新界面会使程序更加流畅
3 当硬件处理器的数量增加时,程序会运行更快
4 占用的资源很少,所以对他的调度付出的系统开销很小,能跟高效的提高提高系统内多个程序间的并发执行速度
缺点:新建线程会消耗内存空间和 CPU 时间,降低系统性能,多线程技术是为了并发执行多项任务,不会提高单个算法本身的执行效率
...待续..