BruceZhang 2015-09-02 11:13 采纳率: 0%
浏览 3547

python 进程池失效原因

 from multiprocessing import Pool
import os, time, random
def process_pool_program_():

    def long_time_task(name):
        print 'Run task %s (%s)...' % (name, os.getpid())
        start = time.time()
        time.sleep(random.random() * 3)
        end = time.time()
        print 'Task %s runs %0.2f seconds.' % (name, (end - start))

    print 'Parent process %s.' % os.getpid()

    p = Pool()
    for i in range(5):
        print p.apply_async(long_time_task, args=(i,)).ready()
    print 'Waiting for all subprocesses done...'
    p.close()
    p.join()
    print 'All subprocesses done.'

process_pool_program_()

为什么这样运行进程池会失败呢,而去掉最外层的函数定义就不会失败

  • 写回答

3条回答 默认 最新

  • oyljerry 2015-09-02 12:16
    关注

    失败是什么意思。错误信息是什么。

    评论

报告相同问题?