1. 进程:一个正在执行的程序,它是资源分配的最小单位。
2. 线程:轻量级进程,程序执行的最小单位,程序独立调度和分配CPU的基本单位,它是进程中的一个实体。
一个进程中可以有多个线程,共享进程的所有资源,线程本身只包含一点必不可少的资源。
3. 并发:同一时刻只能有一条指令执行,但多个进程指令被快速切换,宏观上感觉多个进程同时执行的效果。
并行:同一时刻多条指令在多个处理器上同时执行。真正的同时发生。
同步:彼此有依赖关系的调度不应该同时发生,同步就是阻止这些同时发生的事情。
异步:事情独立发生。
4. 多线程的优势:
a. 占用少的系统资源,相对于多进程来说;
b. 模块化编程,能更清晰的表达程序中独立事件的关系,结构清晰;
c. 在等待慢速IO时,程序可以执行其他操作,提高并发性;
d. 多处理中开发程序的并发性;
多线程不一定在多处理器上。