Многопоточные операторы печати 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'

Ответы на вопрос(2)

Ваш ответ на вопрос