- 基本概念
进程是表示资源分配的基本单位,又是调度运行的基本单位。应该程序每运行一次就会形成一条进程。
线程是进程当中的一个执行单元。
- 级别关系
进程不能无故产生,必须由父进程来产生子进程(0号进程除外),同时负责销毁子进程(孤儿进程不在本文讨论范围),也就是说进程是存在父子级别关系的。
线程不存在这种级别关系,哪怕线程是同进程内另一条线程启动的,但所有线程在进程范围内是平级的。也就是说,创建另一条线程的线程只负责该线程的创建,并不负责该线程的回收。
- 系统资料与通讯
当进程被创建时,子进程会拷贝一份父进程的空间,相当于子进程拥有独立的内存空间。当子进程操作自己内部的x变量时,不会影响到父进程中的变量。(图一)
多个线程共享进程中的所有资料,图二中每个线程都可以访问到进程中的x变量,因为多线程访问,所以必须处理同步问题。
不同进程间因为有独立的内存空间,所以进程间通讯比较复杂,而线程间因为处理的是同一块内存,所以线程间的通讯非常简单。