进程是程序向操作系统申请资源(如内存空间和文件句柄)的基本单位。线程(Thread)是进程中可独立执行的最小单位。 例如, 一个实现从服务器上下载大文件功能的程序为了提高其文件下载效率可以使用多个线程,这些线程各自独立地从服务器上下载大文件中的一段数据.
一个进程可以包含多个线程。同一个进程中的所有线程共享该进程中的资源, 如内存空间、 文件句柄等。 进程与线程之间的关系, 好比一个营业中的饭店与其正在工作的员工之间的关系。 一个营业中的饭店对外为顾客提供餐饮服务,而这种服务最终是通过该饭店的员工的工作实现的。 这些工作中的员工有的在迎宾, 有的在烹调, 有的给顾客上菜。 他们在其工作过程中共享该饭店的资源, 如食材、 餐具、 清洁用具等。