multiprocessing相关内容
在python中建立两个进程之间通信的最佳方法是什么?经过一番谷歌搜索,我尝试这样做: parent_pipe, child_pipe = Pipe()p = 进程(目标 = instance_tuple.instance.run(),\args = (parent_pipe, child_pipe,))p.start() 向子进程发送数据: command = Command(comman
..
所以,我有一个使用 Twisted + Stomper 作为 STOMP 客户端的应用程序,它将工作分配给 multiprocessing.Pool 的工作人员. 当我只使用 python 脚本启动它时,这似乎工作正常,它(简化)看起来像这样: # stompclient.pylogging.config.fileConfig(config_path)记录器 = logging.getLo
..
如何使用 Python 的多处理将字典传递给函数?文档:https://docs.python.org/3.4/library/multiprocessing.html#reference 说要传递字典,但我不断得到 TypeError: fp() 为参数 'what' 获得了多个值 代码如下: from multiprocessing import Process, Managerdef
..
我针对这个问题提出了一个问题,但没有得到足够彻底的答案来解决这个问题(很可能是由于在解释我的问题时缺乏严谨性,这是我试图纠正的问题):python多处理守护进程中的僵尸进程 我正在尝试实现一个 python 守护程序,它使用一个工作池来使用 Popen 执行命令.我从 http://www.jejik.com/articles/借用了基本的守护进程2007/02/a_simple_unix_
..
我想将字典列表与 python 多处理模块一起添加. 这是我的代码的简化版本: #!/usr/bin/python2.7# -*- 编码:utf-8 -*-导入多处理导入功能工具进口时间def 合并(锁,d1,d2):time.sleep(5) # 一些耗时的东西带锁:对于 d2.keys() 中的键:如果 d1.has_key(key):d1[键] += d2[键]别的:d1[键] =
..
我想使用 python 的多处理模块在不同的子进程之间共享几个 numpy 数组.我希望这些数组可以单独锁定,并且我希望在运行时动态确定数组的数量.这可能吗? 在this answer中,J.F. Sebastian 提出了一种在多处理时在共享内存中使用 python 的 numpy 数组的好方法.该阵列是可锁定的,这就是我想要的.我想做一些非常相似的事情,除了可变数量的共享数组.数组的数量
..
我正在尝试遵循一个非常简单的多处理示例: import multiprocessing as mp定义立方体(x):返回 x**3池 = mp.Pool(进程 = 2)结果 = [pool.apply_async(cube, args=x) for x in range(1,7)] 但是,在我的 windows 机器上,我无法获得结果(在 ubuntu 12.04LTS 上它运行完美).
..
我正在使用 multiprocessing.Pool() 这是我想要的池: def insert_and_process(file_to_process,db):db = DAL("path_to_mysql" + db)#表定义db.table.insert(**parse_file(file_to_process))返回真如果 __name__=="__main__":file_lis
..
我想加速一个与贝叶斯推理相关的令人尴尬的并行问题.目的是推断一组图像 x 的系数 u,给定矩阵 A,使得 X = A*U.X 具有尺寸 mxn、A mxp 和 U pxn.对于 X 的每一列,必须推断系数 U 的最优对应列.最后,此信息用于更新 A.我使用 m = 3000,p = 1500 和 n = 100.因此,由于它是一个线性模型,系数矩阵 u 的推断由 n 个独立计算组成.因此,我尝试使
..
使用python的multiprocessing模块,如下人为的示例以最少的内存要求运行: 导入多处理#fully_unrelated_array = range(2**25)定义 foo(x):对于 x 范围内的 x(2**28):通过打印 x**2P = 多处理.Pool()对于范围内的 x (8):multiprocessing.Process(target=foo, args=(x,))
..
大家好,我现在在 python 中使用多处理.我只是想知道是否存在某种简单的计数器变量,每个进程在完成处理某些任务时可以增加(有点像总共完成了多少工作). 我查找了 Value 的 API,不认为它是可变的. 解决方案 Value 确实是可变的;您从 ctypes 模块中指定所需的数据类型,然后可以对其进行变异.这是一个完整的工作脚本来演示这一点: 从时间导入睡眠从 ctypes
..
这是一个例子: from multiprocessing import Process进口时间定义函数():print('子进程正在运行')时间.sleep(5)print('子进程完成')如果 __name__ == '__main__':p = 进程(目标 = 函数)p.start()打印(“完成") 我希望主进程在启动子进程后立即终止.但是在打印出“完成"之后,终端仍在等待......有
..
正如您从标题中知道的那样,我正在尝试将 PriorityQueue 与多处理一起使用.更准确地说,我想制作共享 PriorityQueue,写了一些代码,但它没有按我预期的那样运行. 看代码: 导入时间从多处理导入过程,锁定从队列导入优先队列def 工人(队列):锁=锁()带锁:对于范围内的我(100):queue.put(i)打印“工人",queue.qsize()pr_queue =
..
阅读有关 QProcesses 和 python 多处理模块的文献后,我仍然无法在后台运行大型进程的过程中创建工作和响应式 GUI.到目前为止,我已经提出了我的应用程序的这个简化版本,它仍然显示出与许多人描述的类似的问题. from PyQt4 import QtCore, QtGui将多处理导入为 mp将 numpy 导入为 np导入系统类光谱:def __init__(自我,光谱名称,X,Y
..
我正在尝试修改 python 程序,以便能够使用共享内存与 C++ 程序进行通信.python程序的主要职责是从位于共享内存中的输入队列中读取一些视频帧,对视频帧执行一些操作并将其写回共享内存中的输出队列. 我相信我需要完成的事情很少,如果有人能对此有所了解,那就太好了: 共享内存: 在 C/C++ 中,您可以使用 shmget 和 shmat 等函数来获取指向共享内存的指针记忆.在
..
我正在尝试理解 python 中的多处理. from multiprocessing import Process定义乘法(a,b):打印(a*b)返回 a*b如果 __name__ == '__main__':p = 过程(目标 = 乘法,参数 = (5,4))p.start()p.join()打印(“好的.") 在这个代码块中,例如,如果有一个名为“结果"的变量.如何将乘法函数的返回值赋给
..
在python中实现多处理的一种简单方法是 来自多处理导入池def 计算(数字):退货号码如果 __name__ == '__main__':池 = 池()结果 = pool.map(计算,范围(4)) 基于期货的替代实现是 from concurrent.futures 导入 ProcessPoolExecutordef 计算(数字):退货号码以 ProcessPoolExecutor()
..
我正在尝试了解使用多处理池的 apply_sync 方法时幕后发生的事情. 谁运行回调方法?是调用apply_async的主进程吗? 假设我发送了一大堆带有回调的 apply_async 命令,然后继续执行我的程序.当 apply_async 开始到结束时,我的程序仍在做事.回调如何运行我的“主进程"?而主进程仍在忙于脚本? 这是一个例子. 导入多处理进口时间def 回调(x)
..
我希望将 multiprocessing.Queue 转储到列表中.对于该任务,我编写了以下函数: 导入队列def 转储队列(队列):"""清空队列中的所有待处理项目并在列表中返回它们."""结果 = []# 开始调试代码初始大小 = queue.qsize()print("队列最初有 %s 个项目." % initial_size)# 结束调试代码而真:尝试:事情 = queue.get(bl
..
我想知道如何将 N 个独立任务分配给具有 L 个内核的机器上的恰好 M 个处理器,其中 L>M.我不想使用所有处理器,因为我仍然希望 I/O 可用.我尝试过的解决方案似乎被分发到所有处理器,从而使系统陷入困境. 我认为多处理模块是可行的方法. 我做数值模拟.我的背景是物理学,而不是计算机科学,所以很遗憾,我经常不能完全理解涉及标准任务模型(如服务器/客户端、生产者/消费者等)的讨论.
..