当前位置:网站首页>多进程全局变量失效、变量共享问题
多进程全局变量失效、变量共享问题
2022-07-31 05:47:00 【loong_XL】
*多进程因为不共享空间,函数内部append,±等处理函数外部变量会不起作用
参考:https://www.bilibili.com/video/BV1EZ4y1X7Aj
https://www.bilibili.com/video/BV1p64y1i7KA
1、共享可以通过间接return返回值保存pp,迭代再处理
#多进程
from multiprocessing import Pool
def foo(x):
return x*x
if __name__=="__main__":
p = Pool(processes=5)
pp = p.imap(foo,range(10))
print(pp)
kk=[]
for ii in tqdm(pp):
kk.append(ii)
print(kk)
2、可以用共享内存Manager
from multiprocessing import Pool,Value,Manager,Lock
# import time
#
from tqdm import tqdm
#
#
def test(i,lists,lock):
with lock:
print(i)
lists.append(i**3)
if __name__=="__main__":
print(111)
with Manager() as manager:
share_list = manager.list()
lock = manager.Lock()
pool = Pool(processes=2)
for i in tqdm(range(100)):
pool.apply(test,args=(i,share_list,lock))
print(share_list)
边栏推荐
猜你喜欢
随机推荐
es6数组/数组对象求并集、交集、差集、去重、排序
使用powerDesigner反向工程生成Entity
Postgresql source code learning (33) - transaction log ⑨ - see the overall process of log writing from the insert record
Some derivation formulas for machine learning backpropagation
《白帽子说Web安全》思维导图
防抖和节流
第十七章:回溯探求指定入口的马步遍历,贪心无回溯探求马步遍历,递归探求nxm棋盘带障碍马步遍历
One of the small practical projects - food alliance ordering system
自动翻译软件-批量批量自动翻译软件推荐
Zabbix 配置详解
银河麒麟v10 sp1 安装 PostgreSQL 11.16
Redux状态管理
在级联选择器,根据不会重复的字段,来获取当前的对象
Detailed explanation of js prototype
运行 npm 会弹出询问 “你要如何打开这个文件?“
DirectExchange switch simple introduction demo
gstreamer's caps event and new_segment event
DHCP原理与配置
二叉树的还原(反序列化)
Gradle剔除依赖演示








