问题标签 [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.
ruby - 在 Ruby 中处理多个进程
是否有一个 Ruby 模块可以轻松地在多个进程之间共享对象?我正在寻找类似于 Python 的multiprocessing的东西,它支持可以在进程之间共享的进程安全队列和管道。
python - 多处理还是多线程?
我正在制作一个程序,用于在 Python 中运行模拟,带有 wxPython 接口。在程序中,您可以创建一个模拟,程序会为您渲染(=计算)它。渲染有时会非常耗时。
当用户开始模拟并定义初始状态时,我希望程序在后台连续渲染模拟,而用户可能在程序中做不同的事情。有点像一个充满了 YouTube 风格的栏:您只能播放模拟到渲染的点。
我应该使用多个进程或多个线程还是什么?人们告诉我要使用这个multiprocessing
包,我检查了一下,它看起来不错,但我也听说进程与线程不同,不能共享很多信息(我认为我的程序需要共享很多信息。 ) 此外,我还听说过 Stackless Python:它是一个单独的选项吗?我不知道。
请指教。
python - 后续:Python 仿真软件的多处理或多线程
这是对此的跟进。(您不必阅读所有答案,只需阅读问题)
人们向我解释了进程和线程之间的区别。一方面,我想要进程,这样我就可以充分利用 CPU 的所有内核,另一方面,进程之间的信息传递不太理想,我不想拥有我正在处理的巨大对象的两个副本和。
所以我一直在想一种方法来做到这一点,结合进程和线程;告诉我这是否有意义。我的程序中的主要进程是 GUI 进程。我会让它产生一个“渲染管理器”线程。渲染管理器线程将负责渲染模拟,但是,它不会自己渲染它们,而是派生其他进程来为它完成工作。
这些是目标:
- 渲染应该利用所有可用的核心。
- GUI 永远不应该变得迟缓。
我希望渲染管理器成为线程的原因是它必须与 GUI 共享大量信息:即模拟时间线。
那么你认为这是一个好的设计吗?你有什么改进的建议吗?
更新:
对不起,我对“渲染”这个词的使用令人困惑。渲染是指计算模拟,而不是在屏幕上渲染。
python - Python:来自“线程”和“多处理”的锁可以互换吗?
模块中的锁可以与threading
模块中的锁互换multiprocessing
吗?
python - Python中的动态过程
我有一个关于 Python 多处理的问题。我正在尝试获取数据集,分成块,然后将这些块传递给同时运行的进程。我需要使用简单的计算来转换大型数据表(例如,电阻 -> 热敏电阻的温度)。
下面列出的代码几乎可以按预期工作,但它似乎没有产生任何新进程(或者如果一次只有一个)。
python - Python 多处理:自定义进程池
我将 Process 类子类化为我称为 EdgeRenderer 的类。我想使用multiprocessing.Pool
,除了常规进程之外,我希望它们成为我的 EdgeRenderer 的实例。可能的?如何?
python - Python:了解“multiprocessing.Manager”的好地方?
我想学习使用multiprocessing.Manager
。我查看了文档,但这对我来说还不够容易。任何人都知道一个好的教程或类似的东西?
python - Python多处理:将数据发送到进程
我有这样的子Process
类:
然后我定义了一个run
使用self.starter
.
该starter
对象属于State
我定义的类。
我这样做可以吗?对象会发生什么?它会被序列化吗?这是否意味着我必须始终确保State
对象是可序列化的?新进程是否获得此对象的副本?
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。
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'
一个功能如此简单,我无法理解会有什么问题。
这只是为了基本概念的自学目的。我不想预先优化任何现实世界的问题。
谢谢。