进程
进程是程序执行时的一个实例。
进程是系统进行资源分配的独立实体,每个进程都有独立的地址空间
一个进程无法直接访问另一个进程的变量和数据结构
如果希望让一个进程访问另一个进程的资源,需要使用进程之间的通信,比如管道,文件,套接字
7.线程
也称为轻量级进程,是一个基本的CPU执行单元,
它包含了一个线程ID,一个程序计数器,一个寄存器组和一个堆栈。
多线程是指一个进程中有多个线程。
进程 | 线程 | |
资源 | 拥有资源的基本单位 | 几乎不拥有资源 只拥有一些保证运行时必不可少的资源 |
调度 | 调度分派的基本单位 | 调度分派的基本单位 不同进程中进行线程切换,将会引起进程的切换。 |
并发性 | 引入线程后,提高操作系统的并发性 进程之间可以并发 同一个进程的多个线程可以并发执行, 甚至不同进程的多个线程也可以并发执行 | |
开销 | 创建或撤销进程时,系统都要为之分配或者回收资源,开销比线程大 | 线程的切换则仅需要保存和设置少量寄存器内容,所以开销小。 |
共享性 | 同一进程下的各个线程共享进程的地址空间,并共享进程所持有的资源, 但各个线程拥有属于自己的栈空间,不允许共享。 | |
|