一、进程
1.概念:一个程序在一个数据集合上的一次运行过程。
2.特点:内存空间独立;上下文环境独立。
3.进程间通信:管道,系统Inter process communication,信号,信号量,socket,消息队列,共享内存。
二、线程
1.概念:线程是进程的一个实体,是被系统独立调度和执行的基本单位。
2.特点:同一进程的线程间共享内存。
3.线程间通信:全局变量,message机制。
4.作用:同一进程间的两段代码不能同时执行,必须引入线程。
三、进程与线程的形象化解释
- 把CPU比作工厂,那么进程是工厂里的车间,车间里的工人是线程。
- 在任意时刻,CPU总是运行一个进程,其他进程处于非运行状态。
- 一个进程间也会出现使用某些内存时,一次只允许一个线程使用,其他线程其他线程必须等它结束,才能使用这块内存。
- 互斥锁:防止多个线程同时读写某一块内存区域。(解决3情况)
- 信号量:用来保证多个线程不会互相冲突。(解决6情况)
- 一个进程间也会存在某个内存区域,只能供给固定数目的线程使用。