python并发学习(一):进程和线程
进程
- 几乎所有的操作系统都支持同时运行多个任务,每个任务就是一个程序,每一个运行中的程序就是一个进程,进程就是应用程序的执行实例。
- 多进程就有并发和并行两种方式
并行是指在同一时刻有多条指令在多个处理器上同时执行;
并发是指在同一时刻只能由一条指令执行,单独个进程指令被快速轮换执行,来达到多个进程同时执行的效果。
- 对于CPU而言,一时间点只能执行一个程序。CPU通过在众多的进程间进行不断的轮换执行。因为CPU的执行速度太快,所以CPU的轮换操作看上去像是在同时工作。
线程
-
线程是进程的组成部分,一个进程可以拥有多个线程。
-
在多线程中,会有一个主线程来完成整个进程从开始到结束的全部操作,而其他的线程会在主线程的运行过程中被创建或退出。
-
进程在初始化后,主线程就创建成功,在进程内创建多个顺序执行流,致谢顺序执行就是线程。
-
一个进程里只有一个线程时,就是单线程;有多个线程就是多线程。
-
一个进程内的多个线程共享进程内的所有资源。
-
线程是独立运行的,她并不知道进程中是否还有其他线程,而且运行方式是抢占式的。也就是说多线程是并发式的,线程可以随时被挂起,以便另一个线程的运行,一个线程也可以创建和撤销另一个线程。
操作系统可以同时执行多个任务,每一个任务就是一个进程,进程可以同时执行多个任务,每一个任务就是一个线程。