此代码在常规 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 下运行时会挂起?