Python中的多线程与协程:程序、线程、进程之间的关联关系
程序 Program
程序是是为了完成某种特定任务,用某种特定语言编写的一组指令的集合,简单来说就是我们编写完成的代码。
进程 Process
- 进程是值运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存空间,当我们使用迅雷工具,又启动了一个进程,操作系统将为迅雷分配新的内存空间
- 进程是程序的一次执行过过程,或者是正在运行的一个程序,是动态过程:有它自身的产生,存在和消亡的过程
例如可以查看一下windows中正在运行的任务有哪些,当前正在执行的程序就是进程
总结:在一个操作系统中,每个独立执行的程序都可以称为一个进程也就是正在运行的程序
线程thread
- 线程是由进程创建的,是进程的一个实体
- 一个进程可以拥有多个线程
- 单线程:同一个时刻,只允许执行一个线程
- 多线程:同一个时刻,可以执行多个线程,例如qq的多个聊天窗口
- 并发:同一个时刻,多个任务交替执行,造成一种貌似同时的错觉,简单来说,单核cpu实现的多任务就是并发。例如,一个人在开车的同时打电话,在直播的同时打字
- 并行:同一个时刻,多个任务同时执行,多核cpu可以实现并