While learning about Python's multiprocessing
package (for Python 3.4), I noticed multiprocessing.Pool
is defined in the Class BaseContext
in context.py
. This definition is
def Pool(self, processes=None, initializer=None, initargs=(),
maxtasksperchild=None):
'''Returns a process pool object'''
from .pool import Pool
return Pool(processes, initializer, initargs, maxtasksperchild,
context=self.get_context())
Thus, it ends up calling multiprocessing.pool.Pool
defined in pool.py
.
Why does the multiprocessing
package define both multiprocessing.Pool
and multiprocessing.pool.Pool
?