ProcessPoolExecutor
ProcessPoolExecutors
can be used and created in much the same way as your standard ThreadPoolExecutors
. It subclasses the Executor class the same way the ThreadPoolExecutor
class does, and thus, features many of the same methods within it.
Creating a ProcessPoolExecutor
The process for creating a ProcessPoolExecutor
is almost identical to that of the ThreadPoolExecutor
except for the fact that we have to specify that we've imported that class from the concurrent.futures
module, and that we also instantiate our executor object like this:
executor = ProcessPoolExecutor(max_workers=3)
Example
The following example features a very simple full example of how you can instantiate your own ProcessPoolExecutor
and submit a couple of tasks into this pool. It should be noted that our task function here isn't that computationally expensive, so we may not see the full benefit of using multiple processes, and it could, in fact, be significantly slower than your typical single-threaded process...