一个县城包含执行一系列机器指令所必须的机器状态,高扩当前指令位置,地址和数据寄存器等。
一个unix进程可以理解为一个线程加上地址空间,文件描述符,和其他数据。
多线程可以共享一个地址空间而作不同的工作。
1.2术语定义
1.2.1异步
异步:表明事情相互独立的发生,除非有强加的依赖性。
1.2.2并发
并发是指让实际上可能串行发生的事情好像同事发生一样。
1.2.3并行
并行指冰法序列同时执行,真正的并行攒再在多处理器中,单处理器中并发实际上使并行的假象。
并行要就程序能够同事执行多个操作,而并发只要求程序能够假装同时执行多个操作。
异步:指多个线程之间无依赖关系,可以异步(同时)运行
同步:指多个异步线程之间,通过通信和互斥机制,实现事件先后顺序的线程同步(多线程的执行顺序).
进程包含了需要执行代码的所有信息,所以可以异步执行。操作系统可以保存一个进程的状态转而执行其
他进程而不会有任何不良影响。任何通用意义的异步实体都必须包含让操作系统可以任意切换他们的足够状态,
但unix进程还包括与执行环境不直接相关的附加状态数据,如地址空间和文件描述符
线程切换比进程块,最大程度上得益于线程间共享地址空间(包括代码段,数据段,堆栈)