pool, cpu_bound)
print('custom process pool', result)
- asyncio.run(main())
+ if __name__ == '__main__':
+ asyncio.run(main())
+
+ Note that the entry point guard (``if __name__ == '__main__'``)
+ is required for option 3 due to the peculiarities of :mod:`multiprocessing`,
+ which is used by :class:`~concurrent.futures.ProcessPoolExecutor`.
+ See :ref:`Safe importing of main module <multiprocessing-safe-main-import>`.
This method returns a :class:`asyncio.Future` object.
However, global variables which are just module level constants cause no
problems.
+.. _multiprocessing-safe-main-import:
+
Safe importing of main module
Make sure that the main module can be safely imported by a new Python