Многопоточные операторы печати Python задерживаются, пока все потоки не завершат выполнение
У меня есть фрагмент кода ниже, который создает несколько потоков для выполнения задачи, которая прекрасно работает сама по себе. Однако я изо всех сил пытаюсь понять, почему операторы print, которые я вызываю в моей функции, не выполняются, пока не завершатся все потоки иprint 'finished'
Заявление называется. Я ожидаю, что они будут вызваны при выполнении потока. Есть ли простой способ сделать это, и почему это работает в первую очередь?
def func(param):
time.sleep(.25)
print param*2
if __name__ == '__main__':
print 'starting execution'
launchTime = time.clock()
params = range(10)
pool=multiprocessing.Pool(processes=100) #use N processes to download the data
_=pool.map(func,params)
print 'finished'