首页 > 系统相关 >进程,multiprocessing模块

进程,multiprocessing模块

时间:2023-05-13 20:13:15浏览次数:45  
标签:__ 状态 join CPU 模块 进程 执行 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)
  •  

标签:__,状态,join,CPU,模块,进程,执行,multiprocessing
From: https://www.cnblogs.com/leo3notblv/p/17398073.html

相关文章

  • 协程,gevent模块
    多进程,每启动一个程序单开一块空间,单分配一些资源多线程,在一个进程里面开多个线程,让多个线程同时工作,操作系统控制线程对IO操作阻塞感知能力强多协程,在一个线程,跑多个任务,程序控制协程程序是别人写好的模块,所以感知IO操作阻塞能力差gevent可以实现,当函数遇到IO操作(阻......
  • 进程池,线程,GIL锁,线程池
    进程池进程的最佳数量:cpu核数+1importosos.cpu.count()多线程最佳数量:cpu核数*5进程池,一个池子,里面有固定数量的进程,这些进程一直属于待命状态,一旦有任务来,马上进行处理同步调用.apply(func,args=(,))也就是说一个进程池中一个一个去执行任务异步调用.ap......
  • 常用模块,time,random,json,os
    模块底层都是c语言写的模块的分类内置模块,不需要自己安装,直接拿过来用扩展模块,第三方模块,需要自己安装本地编辑器安装小白教程(forchange.cn)random随机数.random()不入参,求(0,1)之间的随机数,开区间.randint(a,b)求随机整数,闭区间[a,b].randrange(start,stop,step......
  • python requests模块
    requests是Python中用于发送HTTP请求的常用第三方库,可以方便地实现多种请求方式(如GET、POST、PUT、DELETE等),以及文件上传、Cookies管理等功能。以下是requests模块的使用方法和注意事项:安装requests:使用pip命令安装requests库,命令为"pipinstallrequests"。......
  • 三菱FX3U 步进电机换算FB块 FB块的使用可以使程序模块化简单
    三菱FX3U步进电机换算FB块FB块的使用可以使程序模块化简单化,进而提高了程序的稳定性和可移植性。此例中使用FB块,可以实现步进电机的换算,已知距离求得脉冲数,已知速度可以求得频率。程序中包含有FB和ST内容;移植方便,在其他程序中可以直接添加已写好的FB块。ID:6516640576384128......
  • 三菱FX2N对台达变频器的ASCII的通信控制程序资料PLC采用FX2N,加FX3G-485BD扩展模块,采
    三菱FX2N对台达变频器的ASCII的通信控制程序资料PLC采用FX2N,加FX3G-485BD扩展模块,采用MODBUSASCII控制方式,可以通过PLC实现对变频器的正反转,启动停止的控制,频率的设定,加减速,以及对输出频率的监控。已实测,效果如视频,FX3U可以一样用,别的变频器支持ASCII通讯也可以用,资料包括触摸屏......
  • gym 加载/获取 其它模块/库的自定义环境 为什么不需要import自定义的模块/库 只需impo
    site-packages\gymnasium\__init__.py#Hooktoloadpluginsfromentrypointsload_plugin_envs()在这里载入的其它模块/库的自定义环境 Loadmodules(plugins)usingthegymnasiumentrypointsinordertoregisterexternalmodule'senvironmentson``importgymna......
  • 三菱FX3U4DA模拟量输出模块,使用ST结构化文本源代码制作的FB标准库文件,本人自己编写,上
    三菱FX3U4DA模拟量输出模块,使用ST结构化文本源代码制作的FB标准库文件,本人自己编写,上机测试正常,一个Plc可以最多带7个模块,直接程序中重复调用,简单易用。ID:7150629701091822......
  • Unity 角色移动2D动画模块
    usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;[RequireComponent(typeof(SpriteRenderer))]publicclassSpriteAnimator:MonoBehaviour{privateSpriteRendererspriteRenderer;[SerializeField]privateSpriteid......
  • Ubuntu系统下python模块graphviz运行报错:graphviz.backend.execute.ExecutableNotFoun
    代码中需要运行python模块graphviz,安装:pipinstallgraphviz 运行后报错:graphviz.backend.execute.ExecutableNotFound:failedtoexecutePosixPath('dot'),makesuretheGraphvizexecutablesareonyoursystems'PATH  报错的全部信息:Traceback(mostrecentc......