Python创建多进程,用Queue传递信息

创建10个进程,分别计算0到1000各个区间的和,主进程汇总

 

复制代码
__author__ = 'Administrator'
# -*- coding:utf-8 -*-

'''
@author:qiushui
'''

import os
import threading
import multiprocessing
import Queue

def calculator(q, calContext):
    sumCal = 0;
    for i in range(calContext[0], calContext[1],1):
        sumCal += i;
    q.put(sumCal)

lst = range(0,1000,1)
i = 0
q = multiprocessing.Queue();

if __name__ == "__main__":
    while i <= 1000:
        p = multiprocessing.Process(target=calculator, args=(q,(i,(i+1)*100)))
        p.start()
        p.join()
        i += 100;
    result = 0
    while not q.empty():
        element = q.get()
        result+=element
    print("result = " + repr(result))
复制代码

 

posted @   兜兜有糖的博客  阅读(408)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示