• 【python学习】基础篇-常用模块-multiprocessing模块:多进程


    multiprocessing模块是Python标准库中用于实现多进程的模块,它提供了一些工具和类来创建和管理多个进程。

    以下是multiprocessing模块的一些常用方法:

    Process()
     创建一个新的进程对象,需要传入一个函数作为该进程要执行的任务。
    start()
     启动进程,会调用传入的函数并在新进程中执行。
    join()
     等待进程执行完毕,阻塞当前进程直到目标进程执行完毕。
    Queue()
     创建一个队列对象,用于在进程之间传递数据。
    Pipe()
     创建一个管道对象,用于在进程之间传递数据。
    Pool()
     创建一个进程池对象,可以指定进程数量和任务函数,自动管理进程的创建、执行和回收。
    Lock()
     创建一个锁对象,用于同步进程之间的访问共享资源。
    Value() 和 Array()
     创建共享变量或数组对象,可以在进程之间共享数据。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    下面是一个简单的示例代码,演示了如何使用multiprocessing模块创建多个进程并传递参数:
    在这个示例中,我们首先导入了multiprocessing模块。然后定义了一个名为worker的函数,这个函数将作为进程执行的任务。接着在主程序中创建了一个进程对象p,并将worker函数和参数1传入。最后通过调用start()方法启动进程,并通过调用join()方法等待进程执行完毕。

    import multiprocessing
    
    def worker(num):
        """线程执行的任务函数"""
        print(f'工作进程:{num}')
    
    if __name__ == '__main__':
        # 创建进程对象
        p = multiprocessing.Process(target=worker, args=(1,))
        # 启动进程
        p.start()
        # 等待进程执行完毕
        p.join()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
  • 相关阅读:
    Mybatis01、Mybatis简介
    Java 并发编程解析 | 如何正确理解Java领域中的内存模型,主要是解决了什么问题?
    商城系统开发,如何确保用户数据的安全性?
    ARM寄存器及功能介绍/R0-R15寄存器
    Stable Diffusion专场公开课
    webpack 压缩图片
    Golang第一章:入门
    论文阅读 3 | Few-shot Domain Adaptation by Causal Mechanism Transfer
    24_Node.js
    【深度学习】详解 BEiT
  • 原文地址:https://blog.csdn.net/weixin_42133116/article/details/134537381