python2.5多处理池

时间:2010-09-09 08:00:31

标签: python multiprocessing

我有python2.5和多处理(来自http://code.google.com/p/python-multiprocessing/

这个简单的代码(来自docs),不时有点奇怪,有时候还可以,但有时会抛出超时或挂起我的Windows(Vista),只有重置帮助:)为什么会发生这种情况?

from multiprocessing import Pool

def f(x):
    print "fc",x
    return x*x
pool = Pool(processes=4)  
if __name__ == '__main__':
    result = pool.apply_async(f, (10,))     # evaluate "f(10)" asynchronously
    print result.get(timeout=3)           # prints "100" unless your computer is *very* slow

1 个答案:

答案 0 :(得分:4)

这只是一个疯狂的猜测,但您是否尝试将Pool创建移动到if区块?我怀疑否则它可能会产生无限数量的新进程,导致冻结。