python - executor.shutdown 中的“方法返回”是什么意思?
问题描述
我对 executor.shutdown 方法很好奇,我试图找到一些关于它的信息......
根据python文档,
**关机(等待=真,*,cancel_futures=假)
如果 wait 为 True,则此方法将不会返回,直到所有未决的期货都执行完毕并且与执行程序关联的资源已被释放。如果 wait 为 False,则此方法将立即返回,并且当所有挂起的期货执行完毕后,与执行程序关联的资源将被释放。无论等待的值如何,整个 Python 程序都不会退出,直到所有未决的期货都执行完毕。**
但我无法理解段落中“此方法将返回”的含义......
executor.shutdown 方法是否返回任何值?
例如,在这段代码中
import concurrent.futures
import time
def pafter(t):
time.sleep(t)
print('Hi)
with concurrent.futures.ThreadPoolExecutor(5) as e:
e.submit(pafter, 2)
print('With returned')
关闭方法是否返回任何值?
解决方案
shutdown()
没有显式返回值(意思是,如果您捕获了返回值,它将是None
,就像任何其他不返回值的函数或方法一样)。
wait
所有有关该参数的文档都指的是 if wait=False
,shutdown()
将立即返回给调用者,并且 if wait=True
,shutdown()
将等到期货完成后才返回。
代码的相关部分shutdown()
实际上就是这样:
if wait:
for t in self._threads:
t.join()
它加入所有线程并在它们退出后返回。
推荐阅读
- ios - Swift:扩展,通过这个函数的所有路径都会调用自己
- javascript - 谷歌地图 - 具有独特信息窗口的多个标记
- javascript - 在 asp.net 核心应用程序中使用 Paho mqtt js 库
- c++ - 如何使用 libcurl 发送soap(xml)请求
- excel - 运行时错误 9 - 下标超出范围
- php - RewriteCond 使用 PHP 和 .htaccess
- c++ - 定义一个指针随机地使程序崩溃
- c# - 如何在异常过滤器范围内获取应用程序库 url?
- mongodb - 在mongodb中进行多次搜索并替换?
- html - 具有基线配置文件和 h264 编码的 Mp4 无法在 chrome 中播放