首页 > 系统相关 >python多进程,使用pipe进行进程间的通讯

python多进程,使用pipe进行进程间的通讯

时间:2024-12-25 19:58:07浏览次数:4  
标签:python pipe process 消息 receiver 进程 msg

import multiprocessing
import time


'''
python多进程 pipe

在多进程中,进程间的通信是一个常见的需求。管道(Pipe)提供了一种简单有效的进程间通信方式,
允许数据在进程间传递。通过使用管道,我们可以让一个进程发送数据,另一个进程接收。

以下是一个使用管道在两个进程之间传递数据的示例:
'''
def sender(pipe):
    """模拟数据发送者"""
    for i in range(5):
        msg = f'第{i}条消息'
        print(f'发送消息: [{msg}]')
        pipe.send(msg)
        time.sleep(1)  # 模拟延迟

def receiver(pipe):
    """模拟数据接收者"""
    for _ in range(5):
        msg = pipe.recv()
        print(f'接收到消息: [{msg}]\n')

if __name__ == '__main__':
    # 创建管道
    parent_conn, child_conn = multiprocessing.Pipe()

    # 创建进程
    process_sender = multiprocessing.Process(target=sender, args=(child_conn,))
    process_receiver = multiprocessing.Process(target=receiver, args=(parent_conn,))

    # 启动进程
    process_sender.start()
    process_receiver.start()

    # 等待进程结束
    process_sender.join()
    process_receiver.join()
    
    print("通信完成!")

输出:

发送消息: [第0条消息]
接收到消息: [第0条消息]

发送消息: [第1条消息]
接收到消息: [第1条消息]

发送消息: [第2条消息]
接收到消息: [第2条消息]

发送消息: [第3条消息]
接收到消息: [第3条消息]

发送消息: [第4条消息]
接收到消息: [第4条消息]

通信完成!

 

标签:python,pipe,process,消息,receiver,进程,msg
From: https://www.cnblogs.com/xuxiaobo/p/18631320

相关文章

  • C#使用Python.NET执行Python脚本文件踩坑总结
    在VS,Nuget包管理器搜索“Python.NET”,安装pythonnet包,如下图:C#使用Python.NET执行Python脚本文件,C#代码如下:1publicclassPythonExecuter2{3privatereadonlystring_pythonDllPath;4privatereadonlystring_workDir;56publicPythonExecute......
  • Python项目依赖管理
    做好Python环境的包版本管理对于确保项目的稳定性、可重复性和可维护性至关重要。以下是我平时采取的一些方法,期望对读者有所帮助:1.使用虚拟环境虚拟环境是实现包版本管理的重要基础,它可以隔离不同项目的运行环境,避免包版本冲突。我平时主要使用conda来管理虚拟环境。先在测试......
  • python版本的Selenium的下载及chrome环境搭建和简单使用
    针对Python版本的Selenium下载及Chrome环境搭建和使用,以下将详细阐述具体步骤:一、Python版本的Selenium下载安装Python环境:确保系统上已经安装了Python3.8及以上版本。可以从[Python官方网站]下载并安装最新版本的Python,当然您也可以使用anaconda3进行安装python环境。......
  • 基于Python大数据的电影可视化分析系统
    标题:基于Python大数据的电影可视化分析系统内容:1.摘要本文介绍了一个基于Python大数据的电影可视化分析系统。该系统通过收集和分析大量电影数据,提供了对电影市场的深入洞察。文章首先介绍了系统的背景和目的,然后详细描述了系统的架构和功能。接着,文章介绍了系统的实现......
  • 【圣诞节专属】python编写高级的圣诞树!太好看了!
    文章目录python圣诞代码(普通)python圣诞代码(高级)python圣诞代码(普通)当然,我可以为你提供一个简单的Python代码,它会在控制台中打印一个圣诞树的图案。这是一个基础的例子,你可以根据需要进一步美化和扩展。defprint_christmas_tree(height):#打印圣诞树的顶部......
  • Python和MySQL常用时间格式化异同
    Python和MySQL常用时间格式化异同1.Python时间格式化Python的datetime和time模块有一些常用的格式化形式,具体如下。%Y:四位数的年份,如2023。%m:两位数的月份(01-12)。%d:两位数的日期(01-31)。%H:24小时制的小时数(00-23)。%M:分钟数(00-59)。%S:秒数(00-59)。例如,"%Y-%m-%d"会将时......
  • 总结24个Python接单赚钱平台与详细教程,兼职月入5000+
    如果说当下什么编程语言最靠谱或者比较适合搞副业?答案肯定100%是:Python。python是所有语法中最简单易上手的语言,不需要特别的的英语词汇量,逻辑思维也不需要很差就能上手。而且学会了之后就能编写代码爬取各种数据,制作各种图表,提升工作效率。而且还能利用业余时间接点私活,......
  • python之psutil 采集linux系统信息
    1、psutil简介psutil是一个跨平台的Python库,提供了一种方便的方法来查询系统和进程的相关信息。它可以用来获取CPU、内存、磁盘、网络等系统级的数据,适合需要对系统性能进行监控和管理的开发工作。五大主要功能:CPU信息:获取CPU使用率、核心数、频率等。内存信息:获取系......
  • 使用python脚本,批量修改mysql数据库表字段名称
    前提:搭建python相关环境目的:将驼峰式命名或混合大小写的字段名转换为下划线分隔的小写字段名。例如:UserName->user_name,userName->user_name一、新建脚本update_table_column_names.pyimportpymysqlimportreimportsysdefto_snake_case(name):s1......
  • python 升级
    `1.cd/usr/src#进入到这个目录wgetwgethttps://www.python.org/ftp/python/3.9.1/Python-3.9.1.tgz#进行安装包的安装tar-xzfPython-3.9.1.tgz#进行解压cdPython-3.9.1#进入并进行编译安装./configure如果没有升级过Python就需要安装Python相关的依......