码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【Python零基础入门篇 · 34】:进程间的通信-Queue、进程池的构建


    文章目录

    • 进程间的通信-Queue
        • 队列的基本操作
    • 进程池的构建
        • 概念
        • 方法

    进程间的通信-Queue


    可以使用multiprocessing模块的Queue实现了进程之间的数据传递,Queue本身是一个消息队列。

    初始化Queue()对象时(例如:q=Queue()),若括号中没有指定最大可接收的消息数量,或数量为负值,那么就代表可接受的消息数量没有上限(直到内存的尽头)。

    队列的基本操作

    Queue.put():入队,放入数据
    Queue.get():出队,取出数据
    Queue.size():返回当前队列包含的消息数量
    Queue.empty():如果队列为空,返回True,反之False ;
    Queue.full():如果队列满了,返回True, 反之False。
    在这里插入图片描述

    • 进程操作队列,直接使用进程自带的Queue
      在这里插入图片描述

    进程池的构建


    当需要创建的子进程数量不多时,可以直接利用multiprocessing中的Process动态成生多个进程,但如果是上百甚至上千个目标,手动的去创建进程的工作量巨大,此时就可以用到multiprocessing模块提供的Pool方法。

    初始化Pool时,可以指定一个最大进程数,当有新的请求提交到Pool中时,如果池还没有满,那么就会创建一个新的进程用来执行该请求;但如果池中的进程数已经达到指定的最大值,那么该请求就会等待,直到池中有进程结束,才会用之前的进程来执行新的任务。

    概念

    定于一个进程池,在里面放上固定数量的进程,有需求就拿池子中的进程来处理任务,处理完毕,进程并不关闭,而是将这个进程再放回池子中继续等待任务。

    方法

    • p.apply_async(调用的目标,传递的值)——异步非阻塞,不同等待当前进程执行,随时根据系统调度来进行程序切换,如果异步提交任务,等进程池内任务处理完,需要用get()来收集结果.
    • p.close()——关闭进程池
    • p.join()——主进程阻塞,等待所有工作进程退出,只能再close()后调用
      在这里插入图片描述
  • 相关阅读:
    QT右键菜单的快捷键失效问题
    湖仓一体电商项目(十一):编写写入DWS层业务代码
    微服务框架 SpringCloud微服务架构 10 使用Docker 10.8 数据卷挂载案例1
    Java基础学习笔记(五)—— 面向对象编程(2)
    STL容器——list
    洛谷 P8313 [COCI2021-2022#4] Izbori
    运营-用户分析
    Java序列化和反序列化
    Windows上的实用CMD命令
    【SA8295P 源码分析】102 - QNX /dev/switch 节点创建 及 读写功能实现实例
  • 原文地址:https://blog.csdn.net/Oh_Python/article/details/126813311
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号