Python Concurrent.Futures Map不同时执行

时间:2015-03-25 18:59:39

标签: python concurrent.futures

我有以下示例:

import time
import concurrent.futures
x = [10, 1, 2]

def sleeper(secs):
    time.sleep(secs)
    print('I slept for {} seconds'.format(secs))

# returns in the order given
with concurrent.futures.ThreadPoolExecutor(max_workers=3) as executor:
    for future in executor.map(sleeper, x):
        future

我希望这个功能会打印出来#34;我睡了{}秒"但是,为了每次睡眠,在处理完最后一个值(10)之后打印所有结果。

为什么会发生这种情况,以及在每次调用完成后如何打印睡眠者

1 个答案:

答案 0 :(得分:0)

我在终端中测试了Python2和3,它按预期工作。使用IPython Notebook,在处理完最后一个值(10)后打印所有结果。

所以这是IPython Notebook的一个问题,也许你应该提交一个问题。