进程(process)与线程(thread)
一句话解释:
进程就是应用程序创建的实例,而线程依托于进程,它是计算机最小的调度和运行单位
多线程可以并行处理任务,但是线程是不能单独存在的,它是由进程来启动和管理。那么什么又是进程呢?
一个进程就是一个程序的运行实例。详细解释就是,启动一个程序的时候,操作系统会为该程序创建一块内存,用来存放代码、运行中的数据和一个执行任务的主线程,我们把这样的一个运行环境叫做进程
进程和线程之间的关系
- 进程中的任意一线程执行出错,都会导致整个进程的奔溃
- 线程之间共享进程中的数据
- 当一个进程关闭之后,操作系统会回收进程所占用的内存
- 进程之间的内容相互隔离
打个比方,QQ 是应用程序,你启动 QQ,就是在操作系统中创建了一个进程。QQ 架构里有很多线程,不同线程处理不同的事情,
你启动一个 QQ,就是创建一个进程,再启动一个就是再创建进程
CPU 就像一个工厂,进程就像一个车间,线程就好比车间里的工作。一个进程可以包含多个线程