进程,multiprocessing模块

  • 整个系统进行资源分配调度的最小单位
  • 指正在执行的程序
  • 程序执行过程中一次指令,也可以交程序的一次执行过程
  • 进程是一种动态概念
  • 进程由三大部分组成
    • 代码段
    • 数据段
    • PCB进程管理控制
  • 进程的三大基本状态
    • 就绪状态
      已获得运行需要的所有资源除了CPU
    • 执行状态
      已获得运行需要的所有资源包裹CPU,处于正在运行
    • 阻塞状态
      因为各种原因进程放弃了CPU,导致进程无法继续执行,此时进程处于内存中,继续等待获取CPU
    • 挂起状态-----------特殊状态
      因为某种原因,进程放弃CPU,导致进程无法继续执行,此时被踢出内存
  • multiprocessing内置模块,Python提供,主要用于多进程编程
    • .start()解释器告诉操作系统去帮我开始一个进程,就绪状态
    • .run()告诉操作系统,马上执行整个进程,执行状态
    • 正常开启一个子进程,父进程会等待子进程的结束后父进程才结束
      • .join()是让主进程等待子进程执行完,现象:主进程执行到这行代码,主进程阻塞住,等待子进程执行
        执行join是同步,不执行join是异步
        .join()必须放在.start()后面
    • .terminate()杀死进程
    • .is_alive()判断进程是否还活着,返回布尔值
    • .daemon = True 将这个进程设置为守护进程,放在.start()之前,随着父进程代码执行完毕才结束,且不能创建子进程------------------ 一般用在计时器
      • 注意这里的主代码结束和主进程结束不一样
    • 多进程之间数据是不共享的,共享要使用Value方法
  • 属性
    • name 子进程名字
    • pid 子进程pid
  • 互斥锁,一把锁配一把钥匙
  • __name__ == '__main__'if __name__ == '__main__': 到底是个啥? - 云+社区 - 腾讯云 (tencent.com)
  •  
posted @   3notblv  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示