python中使用多进程multiprocessing并获取子进程的返回值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import random
import time
import multiprocessing
 
 
def worker(name, q):
    t = 0
    for i in range(10):
        print(name + " " + str(i))
        x = random.randint(1, 3)
        t += x
        time.sleep(x * 0.1)
    q.put(t)
 
 
q = multiprocessing.Queue()
jobs = []
for i in range(10):
    p = multiprocessing.Process(target=worker, args=(str(i), q))
    jobs.append(p)
    p.start()
 
for p in jobs:
    p.join()
 
results = [q.get() for j in jobs]
print(results)

 

posted @   锐洋智能  阅读(2529)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 分享4款.NET开源、免费、实用的商城系统
· 解决跨域问题的这6种方案,真香!
· 5. Nginx 负载均衡配置案例(附有详细截图说明++)
· Windows 提权-UAC 绕过
历史上的今天:
2020-02-18 java 查找list中重复数据
2020-02-18 Java Set对象去重
2020-02-18 Java--如何高效向List中存放不重复的数据(附带时间测试)
点击右上角即可分享
微信分享提示