姬長信(Redy)

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'