- 一个程序至少有一个 进程,一个 进程 至少有一个 线程 【进程 > 线程】
- 线程 的划分尺度小于 进程,使得 “多线程” 程序的 “并发性高“
- 进程 在执行过程中有自己单独的内存单元,多个线程 共享内存,从而极大的提高了程序的运行效率
- 每个独立的 线程 都有一个 “程序运行的入口” ,顺序执行 序列 和 程序的出口,但是 线程不能独立执行,必须 “依存在应用程序“ 中,由应用程序提供多个线程执行控制
- 多线程的意义在于一个应用程序中,有多个执行部分可以同时执行,但操作系统并没有将多个 线程 看作多个独立的 应用,来实现 进程 的 调度,管理,和资源分配
进程和线程通俗理解
cpu:工厂
一次只能有一个车间开工:cpu一次只能运行一个任务
进程 就好比工厂的车间,它代表CPU所能处理的单个任务。任一时刻,CPU总是运行一个进程,其他进程处于非运行状态
一个车间里,可以有很多工人。他们协同完成一个任务。线程就好比车间里的工人。一个进程可以包括多个线程
车间的空间是工人们共享的,比如许多房间是每个工人都可以进出的。这象征一个进程的内存空间是共享的,每个线程都可以使用这些共享内存。
互斥锁、信号量