此代码在常规 CPython 3.5 下运行良好:
import concurrent.futures
def job(text):
print(text)
with concurrent.futures.ProcessPoolExecutor(1) as pool:
pool.submit(job, "hello")
但是,如果您将其作为 运行python -m doctest myfile.py,它会挂起。更改submit(job为submit(print使其不会挂起,就像使用ThreadPoolExecutor而不是ProcessPoolExecutor.
为什么在 doctest 下运行时会挂起?