zoukankan      html  css  js  c++  java
  • 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操作

        

  • 相关阅读:
    【LeetCode】41. First Missing Positive (3 solutions)
    【LeetCode】42. Trapping Rain Water
    【LeetCode】164. Maximum Gap (2 solutions)
    【原创】SQLServer将数据导出为SQL脚本的方法
    Jconsole远程监控tomcat 的JVM内存(linux、windows)
    selenium + python自动化测试环境搭建
    LR--Controller的Pacing设置(不容忽视的设置)
    loadrunner录制回放常见问题及解决办法
    修改windows系统文件权限
    TestNG官方文档中文版(4)-运行TestNG
  • 原文地址:https://www.cnblogs.com/Marcki/p/10111933.html
Copyright © 2011-2022 走看看