我有以下示例:
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)之后打印所有结果。
为什么会发生这种情况,以及在每次调用完成后如何打印睡眠者
答案 0 :(得分:0)
我在终端中测试了Python2和3,它按预期工作。使用IPython Notebook,在处理完最后一个值(10)后打印所有结果。
所以这是IPython Notebook的一个问题,也许你应该提交一个问题。