multiprocessing相关内容

扭曲与多处理事件和队列不兼容?

我正在尝试模拟使用 twisted 运行的应用程序网络.作为我模拟的一部分,我想同步某些事件并能够为每个进程提供大量数据.我决定使用多处理事件和队列.但是,我的进程正在挂起. 我编写了下面的示例代码来说明问题.具体来说,(大约 95% 的时间在我的沙桥机器上),'run_in_thread' 函数完成,但是直到我按下 Ctrl-C 后才会调用 'print_done' 回调. 此外,我 ..
发布时间:2022-01-12 12:35:42 Python

Python 多处理终止进程

我正在学习如何使用 Python 多处理库.然而,当我浏览一些示例时,我最终在我的后台运行了许多 python 进程. 其中一个示例如下所示: from multiprocessing import Process, Lock定义 f(l, i):l.acquire()打印“你好世界",我l.release()如果 __name__ == '__main__':锁=锁()for num i ..
发布时间:2022-01-12 12:35:32 Python

在子进程已经启动后授予对共享内存的访问权限

如果数据仅在子进程生成后可用(使用 multiprocessing.Process)? 我知道 multiprocessing.sharedctypes.RawArray,但我不知道如何让我的子进程访问在进程已经启动后创建的 RawArray . 数据由父进程生成,数据量事先不知道. 如果不是 GIL 我会使用线程来代替这将完成这项任务简单一点.使用非 CPython 实现不是一 ..
发布时间:2022-01-12 12:35:26 Python

在 Python 中的进程之间共享许多队列

我知道 multiprocessing.Manager() 以及它如何用于创建共享对象,特别是可以在工作人员之间共享的队列.有这个问题,这个问题,这个问题甚至我自己的一个问题. 但是,我需要定义大量队列,每个队列都链接一对特定的进程.假设每对进程及其链接队列由变量key标识. 当我需要放入和获取数据时,我想使用字典来访问我的队列.我无法完成这项工作.我已经尝试了很多东西.将 multi ..
发布时间:2022-01-12 12:35:17 Python

Python多处理 - 进程完成后如何释放内存?

我在使用 python 多处理库时遇到了一个奇怪的问题. 我的代码如下所示:我为每个“符号、日期"元组生成一个进程.之后我结合结果. 我希望当一个进程完成对“符号,日期"元组的计算时,它应该释放它的内存吗?显然情况并非如此.我看到几十个进程(尽管我将进程池的大小设置为 7)在机器中挂起¹.它们不消耗 CPU,也不释放内存. 如何让进程在完成计算后释放其内存? 谢谢! ..
发布时间:2022-01-12 12:35:01 Python

有没有办法将'stdin'作为参数传递给python中的另一个进程?

我正在尝试创建一个使用 python 的多处理模块的脚本.该脚本(我们称之为 myscript.py)将从另一个带有管道的脚本中获取输入. 假设我这样调用脚本; $ python writer.py |python myscript.py 这里是代码; //writer.py导入时间,系统定义主():而真:打印“测试"sys.stdout.flush()时间.sleep(1)主要的() ..
发布时间:2022-01-12 12:34:50 Python

使用多处理写入文件

我在 python 中遇到以下问题. 我需要并行进行一些计算,其结果需要按顺序写入文件中.所以我创建了一个接收 multiprocessing.Queue 和文件句柄的函数,进行计算并将结果打印到文件中: 导入多处理从多处理导入进程,队列从 mySimulation 导入 doCalculation# doCalculation(pars) 是一个函数,我必须为许多不同的参数集运行并将结果 ..
发布时间:2022-01-12 12:34:44 Python

如何对“AttributeError: __exit__"进行故障排除在 Python 中进行多处理?

我尝试重写一些 csv 读取代码,以便能够在 Python 3.2.2 的多个内核上运行它.我尝试使用多处理的 Pool 对象,该对象是我从工作示例中改编而来的(并且已经为我的项目的另一部分工作).我遇到了一条难以解读和排除故障的错误消息. 错误: Traceback(最近一次调用最后一次):文件“parser5_nodots_parallel.py",第 256 行,在 ..
发布时间:2022-01-12 12:34:24 Python

带有悲情的 Python 多处理

我正在尝试使用 Python 的 pathos 将计算指定到单独的进程中,以便使用多核处理器加速它.我的代码组织如下: 类:def foo(自我,姓名):...setattr(自我,姓名,某事)...def 嘘(自我):对于列表中的名称:self.foo(名字) 由于我在使用 multiprocessing.Pool 时遇到了酸洗问题,所以我决定尝试一下 pathos.我尝试过,如先前主题中所 ..
发布时间:2022-01-12 12:33:51 Python

如何使用初始化程序来设置我的多进程池?

我正在尝试使用多进程池对象.我希望每个进程在启动时打开一个数据库连接,然后使用该连接来处理传入的数据.(而不是为每一位数据打开和关闭连接.)这似乎是初始化程序对于,但我无法理解工作人员和初始化程序是如何通信的.所以我有这样的事情: def get_cursor():返回 psycopg2.connect(...).cursor()定义进程数据(数据):# 这里我想要光标,这样我就可以对数据做一些 ..
发布时间:2022-01-12 12:33:43 Python

ARM:启动/唤醒/启动其他 CPU 内核/AP 并传递执行起始地址?

在过去的 3-4 天里,我一直在为此苦苦挣扎,但找不到合适的解释性文档(来自 ARM 或非官方)来帮助我.我有一个 ODROID-XU 板(big.LITTLE 2 x Cortex-A15 + 2 x Cortex-A7) 板,我正在尝试更多地了解 ARM 架构.在我的“实验"代码中,我现在已经到了我想要从 WFI(等待中断)状态唤醒其他内核的阶段. 我仍在努力寻找的缺失信息是: 1 ..
发布时间:2022-01-12 12:33:33 其他开发

numpy 与多处理和 mmap

我正在使用 Python 的 multiprocessing 模块来并行处理大型 numpy 数组.数组在主进程中使用 numpy.load(mmap_mode='r') 进行内存映射.之后,multiprocessing.Pool() 分叉进程(我猜). 一切似乎都运行良好,除了我得到如下行: AttributeError("'NoneType' 对象没有属性 'tell'",)在``忽 ..
发布时间:2022-01-12 12:33:19 Python

如何通过 python 多处理利用所有内核

我已经摆弄 Python 的 multiprocessing 功能一个多小时了,尝试使用 multiprocessing.Process 和 multiprocessing 并行化一个相当复杂的图形遍历函数.经理: 将networkx导入为nx导入 csv进口时间从操作员导入 itemgetter导入操作系统将多处理导入为 mp截止 = 1排除列表 = [“cpd:C00024"]DG = nx ..
发布时间:2022-01-12 12:33:12 Python

获取python多处理池中worker的唯一ID

有没有办法为 python 多处理池中的每个工作人员分配一个唯一的 ID,以便池中特定工作人员运行的作业可以知道哪个工作人员正在运行它?根据文档, Process 有一个 name 但是 名称是一个仅用于识别目的的字符串.它没有语义.多个进程可以被赋予相同的名称. 对于我的特定用例,我想在一组四个 GPU 上运行一堆作业,并且需要为应该运行作业的 GPU 设置设备号.因为作业的长度不均 ..
发布时间:2022-01-12 12:33:03 Python

Python 多处理的池进程限制

在使用多处理模块的 Pool 对象时,进程数是否受 CPU 核数的限制?例如.如果我有 4 个核心,即使我创建一个包含 8 个进程的池,一次也只能运行 4 个? 解决方案 你可以要求尽可能多的进程.任何可能存在的限制都将由您的操作系统施加,而不是由 multiprocessing 施加.例如, p = multiprocessing.Pool(1000000) 在任何机器上都可能遭受 ..
发布时间:2022-01-12 12:32:58 Python

回调函数在多处理 map_async 中如何工作?

调试代码花了我一晚上的时间,终于发现了这个棘手的问题.请看下面的代码. 来自多处理导入池def myfunc(x):return [i for i in range(x)]池=池()A=[]r = pool.map_async(myfunc, (1,2), callback=A.extend)r.wait() 我以为我会得到 A=[0,0,1],但输出是 A=[[0],[0,1]].这对我来说 ..
发布时间:2022-01-12 12:32:43 Python

我可以在 python 中创建共享的多数组或列表对象列表以进行多处理吗?

我需要创建一个多维数组或列表列表的共享对象,以便其他进程可以使用它.有没有办法创建它,因为我已经看到它是不可能的.我试过了: from multiprocessing import Process, Value, Arrayarr = Array('i', range(10))arr[:][0, 1, 2, 3, 4, 5, 6, 7, 8, 9]arr[2]=[12,43]TypeError: ..
发布时间:2022-01-12 12:32:35 Python

Python 多处理如何优雅地退出?

导入多处理进口时间类 testM(multiprocessing.Process):def __init__(self):multiprocessing.Process.__init__(self)self.exit = 假定义运行(自我):虽然不是 self.exit:经过print "你退出了!"返回def 关机(自我):self.exit = 真打印“已启动关机"def dostuff(自我 ..
发布时间:2022-01-12 12:32:21 Python

我在做什么的 Python 多处理进程或池?

我是 Python 中多处理的新手,并试图弄清楚是否应该使用 Pool 或 Process 来异步调用两个函数.我有两个函数进行 curl 调用并将信息解析为 2 个单独的列表.根据互联网连接,每个功能可能需要大约 4 秒.我意识到瓶颈在于 ISP 连接,多处理不会加快速度,但让它们都启动异步会很好.另外,这对我来说是一个很好的学习经验,可以让我进入 python 的多处理,因为我以后会更多地使用 ..
发布时间:2022-01-12 12:32:14 Python