multiprocessing相关内容

Python 多处理从不加入

我正在使用 multiprocessing,特别是一个 Pool 来分拆几个“线程"来完成我拥有的一堆慢速工作.但是,由于某种原因,我无法让主线程重新加入,即使所有的孩子似乎都已经死了. 已解决:看来这个问题的答案是只启动多个 Process 对象,而不是使用 Pool.目前尚不清楚为什么,但我怀疑剩余的进程是池的管理器,并且当进程完成时它并没有死亡.如果其他人有这个问题,这就是答案. ..
发布时间:2022-01-12 12:56:31 Python

关于使用 Queue()/deque() 和类变量进行通信和“毒丸"的进程与线程

我想创建一个在 While True 循环中永远运行的线程或进程. 我需要以队列的形式向工作人员发送和接收数据,无论是 multiprocessing.Queue() 还是 collections.deque().我更喜欢使用 collections.deque(),因为它明显更快. 我还需要最终能够杀死工作人员(因为它在 while True 循环中运行.这是我整理的一些测试代码,以 ..

Python tkinter 中的多处理

如何在没有多线程的情况下在 python 中运行多个进程?例如考虑以下问题:- 我们必须制作一个 Gui,它有一个开始按钮,用于启动一个函数(例如,打印所有整数),还有一个停止按钮,这样点击它就会停止函数. 如何在 Tkinter 中做到这一点? 解决方案 然后您需要将 Button 小部件与启动工作线程的函数绑定.例如: 导入时间导入线程将 Tkinter 导入为 tk类应 ..
发布时间:2022-01-12 12:50:56 Python

多处理 - 共享数组

所以我试图在 python 中实现多处理,我希望有一个由 4-5 个进程组成的池并行运行一个方法.这样做的目的是运行总共一千次 Monte 模拟(每个进程 250-200 次模拟)而不是运行 1000 次.我希望每个进程在处理完一个模拟的结果,写入结果并释放锁.所以这应该是一个三步过程: 获取锁 写入结果 为等待写入数组的其他进程释放锁. 每次我将数组传递给进程时,每个进程都会创建 ..
发布时间:2022-01-12 12:50:43 Python

多处理 - 生产者/消费者设计

我正在使用多处理模块来拆分一个非常大的任务.它在大多数情况下都有效,但我的设计肯定遗漏了一些明显的东西,因为这样我很难有效地判断何时处理了所有数据. 我有两个单独的任务在运行;一个喂另一个.我想这是一个生产者/消费者问题.我在所有进程之间使用共享队列,生产者填满队列,消费者从队列中读取并进行处理.问题是数据量是有限的,所以在某些时候每个人都需要知道所有数据都已处理,以便系统可以正常关闭. ..
发布时间:2022-01-12 12:50:34 Python

如何在 Python 中使用多处理并行求和循环

我很难理解如何使用 Python 的多处理模块. 我有一个从 1 到 n 的总和,其中 n=10^10,太大而无法放入列表中,这似乎是许多使用多处理的在线示例的主旨. 有没有办法将范围“拆分"成一定大小的段,然后对每个段进行求和? 例如 def sum_nums(low,high):结果 = 0对于我在范围内(低,高+1):结果 += 我返回结果 我想通过将 sum_nums ..
发布时间:2022-01-12 12:50:25 Python

gensim LdaMulticore 不是多处理?

当我在一台 12 核的机器上运行 gensim 的 LdaMulticore 模型时,使用: lda = LdaMulticore(corpus, num_topics=64, workers=10) 我收到一条日志消息,上面写着 在此节点上使用串行 LDA 版本 几行之后,我看到另一条日志消息显示 使用 10 个进程训练 LDA 模型 当我运行 top 时,我看到 11 个 pyth ..
发布时间:2022-01-12 12:50:19 Python

检索使用 multiprocessing.Pool.map 启动的进程的退出代码

我正在使用 python multiprocessing 模块来并行化一些计算繁重的任务.显而易见的选择是使用 Pool 工人,然后使用 map 方法. 但是,进程可能会失败.例如,它们可能会被 oom-killer 静默杀死.因此,我希望能够检索使用 map 启动的进程的退出代码. 此外,出于日志记录的目的,我希望能够知道为执行可迭代中的每个值而启动的进程的 PID. 解决方案 ..
发布时间:2022-01-12 12:50:11 Python

分段错误捕获

我有一个 python 脚本,它会遍历一堆 maya 文件并做一些事情.但是有时玛雅会出现段错误,我的脚本会停在那里.我尝试使用 signal 和 multiprocess.但都失败了. 导入操作系统、optparse、glob、json、信号导入 maya.standalone将 maya.cmds 导入为 cmds从多处理导入进程,队列默认加载MayaBd():maya.standalone ..
发布时间:2022-01-12 12:49:56 Python

运行多个 python 程序时内核 CPU 高

我开发了一个 python 程序来进行繁重的数值计算.我在具有 32 个 Xeon CPU、64GB RAM 和 Ubuntu 14.04 64 位的 linux 机器上运行它.我并行启动具有不同模型参数的多个 python 实例以使用多个进程,而不必担心全局解释器锁 (GIL).当我使用 htop 监控 cpu 利用率时,我看到所有内核都已使用,但大部分时间都是内核使用的.通常,内核时间是用户时 ..
发布时间:2022-01-12 12:49:31 服务器开发

python多处理:写入相同的excel文件

我是 Python 新手,我正在尝试将五个不同进程的结果保存到一个 excel 文件中(每个进程写入不同的工作表).我在这里阅读了不同的帖子,但仍然无法完成,因为我对 pool.map、队列和锁非常困惑,而且我不确定这里需要什么来完成这项任务.到目前为止,这是我的代码: list_of_days = [“2017.03.20"、“2017.03.21"、“2017.03.22"、“2017.03 ..
发布时间:2022-01-12 12:49:16 Python

如何限制 Python 使用的处理器数量

我有一个相当消耗内存的 Python 程序,可以在具有 8 个 CPU 的计算机上运行(使用 Python 3.1 64 位).问题是它使用了所有 8 个处理器以 100% 的使用率,因此冻结了机器并使事情变慢.我如何让 Python 只使用 7 个处理器来释放更多 CPU?我已经在多处理库中多次尝试了 Pool 类,但没有运气. 例如,如果我想调用我的程序的 main 函数并让它只使用 7 ..
发布时间:2022-01-12 12:49:08 其他开发

性能 - 多线程或多进程应用程序

为了在 linux 上开发高度网络密集型的服务器应用程序,首选哪种架构?这个想法是这个应用程序通常会在具有多核(虚拟或物理)的机器上运行.考虑到性能是关键标准,选择多线程应用程序还是多进程设计的应用程序更好?我确实知道从多个进程共享资源和同步访问这些资源是很多编程开销,但如前所述,整体性能是关键要求,因此我们可以忽略这些事情.并且编程语言是 C/C++. 我听说即使是多线程应用程序(单个进程 ..
发布时间:2022-01-12 12:49:02 服务器开发

使用多处理解析非常大的 XML 文件

我有一个巨大的 XML 文件,我对如何处理它有点茫然.它是 60 GB,我需要阅读它. 我在想是否有办法使用多处理模块来读取 python 文件? 有没有人可以指点我做这件事的任何样本? 谢谢 解决方案 节省内存解析非常大的 XML 文件您可以使用比 effbot.org 更新的代码,它可能会为您节省更多内存:对大型 XML 文件使用 Python Iterparse ..
发布时间:2022-01-12 12:48:40 Python

为什么 Python 多处理守护进程不打印到标准输出?

我一直在尝试多处理,但遇到了守护进程. 我有一个守护进程和一个非守护进程,守护进程无限期地每隔一秒发出一次输出,而非守护进程在启动时立即打印输出,休眠 3 秒,然后再次打印并返回. 问题是,守护进程的预期输出根本没有出现. 回顾过去关于守护进程的 SO 问题,常见问题似乎是在守护进程之前结束的其他进程,或者需要刷新以显示输出的标准输出.两者都已解决(我认为),但我仍然只看到非守护 ..
发布时间:2022-01-12 12:48:32 Python

嵌入式python:多处理不起作用

我正在使用作为脚本环境嵌入到应用程序 (x64) 中的 Python 3.1.4.到目前为止,我在使用嵌入式 python 时遇到了很多限制.不知道是不是正常,还是应用程序的程序员屏蔽了一些功能. 例如以下代码不起作用: from multiprocessing import Process定义 f(名称):打印('你好',名称)如果 __name__ == '__main__':p = ..
发布时间:2022-01-12 12:48:04 Python