Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

python多进程

作者:﹏〃对不起╮他是为你哭了   发布日期:2026-01-20   浏览:109

from multiprocessing import Process, Queue

def square_numbers(numbers, queue):
    # 计算平方并将结果放入队列
    for n in numbers:
        queue.put(n * n)

if __name__ == "__main__":
    numbers = [1, 2, 3, 4, 5]

    # 创建一个队列用于进程间通信
    q = Queue()

    # 创建子进程并传递参数
    p = Process(target=square_numbers, args=(numbers, q))

    # 启动子进程
    p.start()

    # 等待子进程完成
    p.join()

    # 从队列中获取结果
    result = []
    while not q.empty():
        result.append(q.get())

    print("Result:", result)

解释说明:

  1. 导入模块multiprocessing 模块提供了创建和管理多进程的功能。我们使用 Process 类来创建新进程,并使用 Queue 来在进程之间传递数据。

  2. 定义函数square_numbers 函数接收一个数字列表和一个队列对象,计算每个数字的平方,并将结果放入队列中。

  3. 主程序

    • 创建一个数字列表 numbers
    • 创建一个 Queue 对象 q,用于进程间通信。
    • 使用 Process 创建一个新的子进程,目标函数为 square_numbers,并传递参数。
    • 调用 start() 方法启动子进程。
    • 调用 join() 方法等待子进程完成。
    • 从队列中获取所有结果并打印出来。

这个示例展示了如何使用 Python 的 multiprocessing 模块来创建多个进程,并通过队列实现进程间的通信。

上一篇:python counter

下一篇:isinstance函数python

大家都在看

python时间格式

pythoneval函数用法

python读取文件路径

staticmethod在python中有

python 保存json文件

python开发windows应用程序

python中len是什么意思

python 私有函数

python ord和chr

python中的yield

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站