问题标签 [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 回答
4175 浏览

ruby - 在 Ruby 中处理多个进程

是否有一个 Ruby 模块可以轻松地在多个进程之间共享对象?我正在寻找类似于 Python 的multiprocessing的东西,它支持可以在进程之间共享的进程安全队列和管道。

0 投票
9 回答
8974 浏览

python - 多处理还是多线程?

我正在制作一个程序,用于在 Python 中运行模拟,带有 wxPython 接口。在程序中,您可以创建一个模拟,程序会为您渲染(=计算)它。渲染有时会非常耗时。

当用户开始模拟并定义初始状态时,我希望程序在后台连续渲染模拟,而用户可能在程序中做不同的事情。有点像一个充满了 YouTube 风格的栏:您只能播放模拟到渲染的点。

我应该使用多个进程或多个线程还是什么?人们告诉我要使用这个multiprocessing包,我检查了一下,它看起来不错,但我也听说进程与线程不同,不能共享很多信息(我认为我的程序需要共享很多信息。 ) 此外,我还听说过 Stackless Python:它是一个单独的选项吗?我不知道。

请指教。

0 投票
2 回答
1069 浏览

python - 后续:Python 仿真软件的多处理或多线程

这是对此的跟进。(您不必阅读所有答案,只需阅读问题)

人们向我解释了进程和线程之间的区别。一方面,我想要进程,这样我就可以充分利用 CPU 的所有内核,另一方面,进程之间的信息传递不太理想,我不想拥有我正在处理的巨大对象的两个副本和。

所以我一直在想一种方法来做到这一点,结合进程和线程;告诉我这是否有意义。我的程序中的主要进程是 GUI 进程。我会让它产生一个“渲染管理器”线程。渲染管理器线程将负责渲染模拟,但是,它不会自己渲染它们,而是派生其他进程来为它完成工作。

这些是目标:

  1. 渲染应该利用所有可用的核心。
  2. GUI 永远不应该变得迟缓。

我希望渲染管理器成为线程的原因是它必须与 GUI 共享大量信息:即模拟时间线。

那么你认为这是一个好的设计吗?你有什么改进的建议吗?

更新:

对不起,我对“渲染”这个词的使用令人困惑。渲染是指计算模拟,而不是在屏幕上渲染。

0 投票
3 回答
2004 浏览

python - Python:来自“线程”和“多处理”的锁可以互换吗?

模块中的锁可以与threading模块中的锁互换multiprocessing吗?

0 投票
3 回答
2863 浏览

python - Python中的动态过程

我有一个关于 Python 多处理的问题。我正在尝试获取数据集,分成块,然后将这些块传递给同时运行的进程。我需要使用简单的计算来转换大型数据表(例如,电阻 -> 热敏电阻的温度)。

下面列出的代码几乎可以按预期工作,但它似乎没有产生任何新进程(或者如果一次只有一个)。

0 投票
3 回答
5267 浏览

python - Python 多处理:自定义进程池

我将 Process 类子类化为我称为 EdgeRenderer 的类。我想使用multiprocessing.Pool,除了常规进程之外,我希望它们成为我的 EdgeRenderer 的实例。可能的?如何?

0 投票
1 回答
34654 浏览

python - Python:了解“multiprocessing.Manager”的好地方?

我想学习使用multiprocessing.Manager。我查看了文档,但这对我来说还不够容易。任何人都知道一个好的教程或类似的东西?

0 投票
1 回答
3768 浏览

python - Python多处理:将数据发送到进程

我有这样的子Process类:

然后我定义了一个run使用self.starter.

starter对象属于State我定义的类。

我这样做可以吗?对象会发生什么?它会被序列化吗?这是否意味着我必须始终确保State对象是可序列化的?新进程是否获得此对象的副本?

0 投票
3 回答
5855 浏览

python - 通过文件路径导入模块时使用 Python 多处理

我正在编写一个程序,它使用文件路径导入模块,函数imp.load_source(module_name,module_path). 当我尝试将此模块中的对象传递到Process.

一个例子:

注意:要使此代码“工作”,您必须将我提供的参数替换为imp.load_source其他参数:它必须是您计算机上的某个 Python 文件,最好不在同一个文件夹中。然后, in thing=module.step,而不是 step 放入该.py文件中定义的一些随机函数或类。

我得到以下回溯:

那我该怎么办?

编辑:

我在 Win XP 上使用 Python 2.6.2c1。

0 投票
1 回答
2479 浏览

python - Python 2.6 Win32 (xp) 上的 Python 多处理

我试图从 jesse noller 的这个 Multiprocessing 讲座中复制这个例子(如另一篇 SO 帖子中所推荐的那样)[ http://pycon.blip.tv/file/1947354?filename=Pycon-IntroductionToMultiprocessingInPython630.mp4]

但由于某种原因,我遇到了一个错误,好像它忽略了我的函数定义:我在 Windows XP (win32)上,我知道它对 2.6 中的多处理库有限制,要求一切都是可腌制的

输出:

导致问题的错误是:AttributeError: 'module' object has no attribute 'sleeper'

一个功能如此简单,我无法理解会有什么问题。

这只是为了基本概念的自学目的。我不想预先优化任何现实世界的问题。

谢谢。