擅长:python、mysql、java
<p>对<code>ThreadPoolExecutor.map</code>的调用在其所有任务完成之前不会阻塞。使用<a href="https://docs.python.org/3.4/library/concurrent.futures.html#module-functions" rel="nofollow noreferrer">wait</a>执行此操作。在</p>
<pre><code>from concurrent.futures import wait, ALL_COMPLETED
...
futures = [pool.submit(fn, args) for args in arg_list]
wait(futures, timeout=whatever, return_when=ALL_COMPLETED) # ALL_COMPLETED is actually the default
do_other_stuff()
</code></pre>
<p>您还可以在<code>pool.map</code>返回的生成器上调用<code>list(results)</code>来强制求值(这就是您在原始示例中所做的)。但是,如果您实际上没有使用从任务返回的值,<code>wait</code>是正确的方法。在</p>