python并发编程-进程,并发

1.进程是一个正在运行的程序,或者说是程序运行的过程,进程是个抽象概念

    进程起源于操作系统,是操作系统最核心的概念,操作系统所有其他的概念都是围绕进程展开

    研究进程最底层就是在研究操作系统底层代码

2.串行 -进程

    一个任务完完整整的运行完毕后,在运行下一个任务

3.并发-进程

    看起来多个任务是同时运行即可,单核也可以实现并发

4.-并行-进程

    真正意义上多个任务的同时运行,只要多核才实现并行

5.cpu的功能:

    cpu是用来做计算的,cpu无法执行io操作,一旦遇到io操作,应该让cpu去执行别的任务

6.多道技术原理:

多道技术中的多道指的是多个程序,多道技术的实现是为了解决多个程序竞争或者说共享同一个资源(比如cpu)的有序调度问题,

解决方式即多路复用,多路复用分为时间上的复用和空间上的复用。

    1.空间上的复用=》将内存分为几个部分,每个部分放入一个程序,这种同一时间内存中就有多个进程程序

    2.时间上的复用-》当一个程序执行io操作时候,另一个程序可以使用cpu。如果内存中可以存放多个进程程序,那么cpu的利用率可以接近100%

操作系统采用了多道技术后,可以控制进程的切换,或者说进程之间去争抢cpu的执行权限。这种切换不仅会在一个进程遇到io时进行,一个进程占用cpu时间过长也会切换,或者说被操作系统夺走cpu的执行权限

强调:遇到io切,占用cpu时间过长也切,核心在于切之前将进程的状态保存下来,这样就可以保证下次切回来时,能基于上次切走的位置继续运行!
 

7.  两种cpu切换控制:

    1,cpu遇到io操作时切换:可以提升效率

    2.一个进程占用cpu时间过长也会被切走:并发效果不得已而为之,这样反而会降低程序的执行效率

总结:

   写程序最核心的提升效率的方式:就是尽可能减少io操作

    

原文地址:https://www.cnblogs.com/Marcki/p/10111933.html