Message200507
I guess this should be clarified in the docs, but multiprocessing.pool.Pool is a *class* whose constructor takes a context argument, where as multiprocessing.Pool() is a *bound method* of the default context. (In previous versions multiprocessing.Pool was a *function*.)
The only reason you might need the context argument is if you have subclassed multiprocessing.pool.Pool.
>>> from multiprocessing import pool, get_context
>>> forkserver = get_context('forkserver')
>>> p = forkserver.Pool()
>>> q = pool.Pool(context=forkserver)
>>> p, q
(<multiprocessing.pool.Pool object at 0xb71f3eec>, <multiprocessing.pool.Pool object at 0xb6edb06c>)
I suppose we could just make the bound methods accept a context argument which (if not None) is used instead of self. |
|
Date |
User |
Action |
Args |
2013-10-19 22:28:50 | sbt | set | recipients:
+ sbt, jnoller, python-dev, lars, Olivier.Grisel |
2013-10-19 22:28:50 | sbt | set | messageid: <1382221730.1.0.740227360548.issue18999@psf.upfronthosting.co.za> |
2013-10-19 22:28:50 | sbt | link | issue18999 messages |
2013-10-19 22:28:50 | sbt | create | |
|