虽然在Python中启用multiprocessing.pool时无法使用True循环

时间:2014-06-13 13:15:31

标签: python-2.7 while-loop multiprocessing

我在我的一个程序中使用多处理池,我需要程序有无限循环,这意味着永远运行...但是在我在池程序中应用while True:循环后,程序似乎永远挂起并且什么都不做......

我提出了一个非常简单的Python代码,如下所示:

from multiprocessing import Pool

def market_update(var):
    return var*var

while True:
    alist = [1,2,3,4,5,6,7,8,9,10,11,12]
    print alist

    if __name__ == '__main__':
        pool = Pool()
        result= pool.map(market_update, alist)    
        print result

任何人都可以解释为什么以及是否有任何问题?

根据Dano的建议编辑代码:

from multiprocessing import Pool

def market_update(var):
    return var*var

if __name__ == '__main__':
    pool = Pool()

while True:
    alist = [1,2,3,4,5,6,7,8,9,10,11,12]
    print alist
    result = pool.map(market_update, alist)    
    print result

0 个答案:

没有答案