• 【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
  • 相关阅读:
    JS迭代器及异步
    HTML基础入门02
    攻防世界-web-FlatScience
    OpenFeign(案例代码)
    仿真与烧录程序有哪几种方式?(包含常用工具与使用方式)
    Unity3D开发流程及注意事项
    Java.lang.Class asSubclass()方法有什么功能呢?
    基于javaweb教育科研信息管理系统
    SpringCloud Gateway--网关服务基本介绍和基本原理
    vue数据增删改查及表单验证
  • 原文地址:https://blog.csdn.net/weixin_42133116/article/details/134537381