The concurrent.futures module supports both a thread and a process pool and provides easy ways to create and make use of them via the idea of an executor. There are two executors, ProcessPoolExecutor ...
If you want to use a more sophisticated resource sharing method then you need to create a manager and pass the proxy objects it creates to the processes: import concurrent.futures import ...