问题标签 [multiprocessing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
6633 浏览

python - 使用多处理读取多个文件

我需要阅读一些非常大的文本文件(100+ Mb),用正则表达式处理每一行并将数据存储到一个结构中。我的结构继承自 defaultdict,它有一个读取 self.file_name 文件的 read(self) 方法。

看看这个非常简单(但不是真实的)示例,我没有使用正则表达式,但我正在拆分行:

最后,我需要将每个结果加入一个容器中。保持行的顺序很重要。返回值时我的方法太慢了。更好的解决方案?我在 Linux 上使用 python 2.6

0 投票
3 回答
6937 浏览

python - 多处理问题 [pyqt, py2exe]

我正在使用 PyQt4 编写一个 GUI 程序。我的主窗口中有一个按钮,然后单击此按钮。我希望启动一个后台进程,它是从 processing.Process 派生的类的一个实例。

(请注意,我使用的是从 http://code.google.com/p/python-multiprocessing/获得的 python-multiprocessing 的 Python2.5 端口, 这就是为什么它是 processing.Process 而不是 multiprocessing.Process。我猜这不应该有什么不同。我说得对吗?)

连接到按钮点击信号的代码就像

该程序在 python 解释器下按预期工作,即如果它是从命令行“python myapp.py”启动的。

但是,在我使用 py2exe 打包程序后,每次单击该按钮时,都会弹出主窗口的副本,而不是启动后台任务。我不确定这种行为的原因是什么。我想这与http://docs.python.org/library/multiprocessing.html#multiprocessing-programming中的以下注释有关

“这个包中的功能要求主要方法可以由孩子们导入。这在编程指南中有所介绍,但值得在这里指出。这意味着一些示例,例如 multiprocessing.Pool 示例在交互式解释器中不起作用"

如果name == " main "我唯一的位置是在主模块中,就像在典型的 pyqt 程序中一样

有关如何解决此问题的任何解决方案?谢谢!

0 投票
6 回答
73734 浏览

python - 如何从多个进程中增加共享计数器?

我在使用multiprocessing模块时遇到问题。我正在使用一个Pool工人及其map方法来同时分析大量文件。每次处理一个文件时,我都希望更新一个计数器,以便我可以跟踪还有多少文件需要处理。这是示例代码:

我找不到解决方案。

0 投票
2 回答
2277 浏览

python - 多处理和niceness值

有谁知道在多处理中创建进程或池时设置其 niceness 值的简单方法?

0 投票
1 回答
10955 浏览

python - InternalError:当前事务被中止,命令被忽略直到事务块结束

使用多处理库在子进程中进行数据库调用时出现此错误。

访问 :馅饼

InternalError:当前事务被中止,命令被忽略直到事务块结束

这是一个 Postgre 数据库,psycopg2使用web.py.

但是,如果我使用threading.Thread而不是multiprocessing.Process我不会收到此错误。
知道如何解决这个问题吗?

0 投票
1 回答
929 浏览

python - Python中进程的帮派调度的简单示例?

我有一个需要执行的进程池。我想充分利用机器,让所有的 CPU 都在执行进程。我不想过度订阅系统,所以我真正想要的是在任何给定时刻#executing_processes=#cpus。我还需要存储每个已完成进程的标准输出、标准错误和返回码。如何在 Python 中实现这一点?

编辑:“进程”是指外壳进程。

0 投票
5 回答
4558 浏览

python - Python 会在线程模式下使用所有处理器吗?

在开发部署在 Apache mod_wsgi 上的 Django 应用程序时,我发现在多线程(Python 线程;mod_wsgi 进程=1 线程=8)的情况下,Python 不会使用所有可用的处理器。使用多处理方法(mod_wsgi processes=8 threads=1)一切都很好,我可以完全加载我的机器。

那么问题来了:这种 Python 行为正常吗?我对此表示怀疑,因为使用 1 个线程很少的进程是默认的 mod_wsgi 方法。

该系统是:

FreeBSD 7.2 AMD64 和 Python 2.6.4 上的 2xIntel Xeon 5XXX 系列(8 核(16 带超线程))


谢谢大家的回答。我们都发现这种行为是正常的,因为 GIL。这是一个很好的解释: http: //jessenoller.com/2009/02/01/python-threads-and-the-global-interpreter-lock/ 或stackoverflow GIL讨论:什么是全局解释器锁(GIL)?.

0 投票
2 回答
3622 浏览

python - 当任何线程出现异常时,多处理池挂起

我是 Python 新手,正在尝试使用 multiprocessing.pool 程序来处理文件,只要没有异常,它就可以正常工作。如果任何线程/进程出现异常,整个程序都会等待线程

代码片段:

失败消息:



我继续添加了一个异常处理程序来终止进程

但它仍在等待,不确定缺少什么。

0 投票
1 回答
803 浏览

python - python多处理队列:是否独立于获取?

多处理队列putting中的对象是否独立于其中的对象?getting

换句话说,如果另一个进程P2来自某个对象,它会putting阻塞进程P1吗?getting

更新:我假设一个无限队列。

0 投票
2 回答
3491 浏览

python - 在进程之间进行通信时,队列比管道有什么优势?

管道上使用 2 个队列在进程之间进行通信有什么好处(如果有的话)?

我打算使用multiprocessingpython模块。