1024得票12回答
多进程与多线程Python的区别

我正在尝试理解multiprocessing相比threading的优势。我知道multiprocessing可以绕过全局解释器锁,但除此之外还有哪些优势?threading不能做同样的事情吗?

879得票24回答
如何使用multiprocessing pool.map和多个参数

在Python的multiprocessing库中,是否有支持多个参数的pool.map变体? import multiprocessing text = "test" def harvester(text, case): X = case[0] text + str(X...

397得票3回答
多进程池:何时使用apply、apply_async或map?

我没有看到使用情境明确的示例,涉及到 Pool.apply、Pool.apply_async 和 Pool.map。我主要使用 Pool.map;其他方法有什么优势吗?

377得票10回答
Python多进程PicklingError: 无法pickle <type 'function'>。

很抱歉我无法提供一个更简单的例子来重现错误,我的代码也太复杂了不能贴出来。如果我在IPython shell中运行程序而不是普通的Python,事情会顺利解决。 我查阅了一些关于这个问题的先前记录,它们都是由于使用pool调用类函数内定义的函数引起的。但对我来说并非如此。 Exceptio...

351得票13回答
如何获取传递给multiprocessing.Process的函数的返回值?

在下面的示例代码中,我想要获取函数worker的返回值。我该如何做到这一点?这个值存储在哪里? import multiprocessing def worker(procnum): '''worker function''' print str(procnum) + ' ...

325得票11回答
多进程 vs 多线程 vs 异步IO

我发现在Python 3.4中,有几个不同的多进程/线程库可以使用:multiprocessing vs threading vs asyncio。 但是我不知道应该使用哪一个或者哪一个是“推荐的”。它们是否做相同的事情,还是不同的?如果是这样的话,每个库用于什么?我想编写一个在我的计算机上利...

319得票23回答
在Python中使用多进程时,我应该如何记录日志?

目前我在一个框架中有一个中央模块,使用Python 2.6的multiprocessing模块来生成多个进程。因为它使用了multiprocessing,所以有模块级别的多进程感知日志,LOG = multiprocessing.get_logger()。根据文档,这个记录器(编辑)没有进程共...

297得票10回答
在Windows上使用Python多进程时出现运行时错误

我正在尝试在Windows机器上使用Threading和Multiprocessing编写我的第一个正式Python程序。然而,我无法启动进程,Python会给出以下消息。问题是,我没有在main模块中启动线程。线程在一个独立的模块内部的一个类中处理。编辑: 顺便说一句,这段代码在Ubuntu...

266得票2回答
多进程池:map_async和imap有什么区别?

我正在尝试学习如何使用Python的multiprocessing包,但我不理解map_async和imap之间的区别。我注意到map_async和imap都是异步执行的。那么我应该在什么情况下使用其中一个?以及我应该如何检索由map_async返回的结果?我应该像这样使用吗?def test...

261得票6回答
Python 3中的Concurrent.futures与Multiprocessing区别

Python 3.2引入了Concurrent Futures,它似乎是旧的线程和multiprocessing模块的一些高级组合。相比旧的多进程模块,使用它来处理CPU密集型任务有什么优缺点?This article认为它们更易于使用-这是真的吗?