Python3之进程池

2018-08-19  本文已影响0人  WuCh1k1n

在 Python3 中,我们可以通过创建一个进程池对象来管理运行不同任务的进程。

class multiprocessing.pool.Pool([processes[, initializeer[, initargs[, maxtasksperchild[, context]]]])

maxtasksperchild 是Python3.2版本的新特性, context 是Python3.4 的新特性。


from multiprocessingimport Pool

def task(i):

result = i * I

print("Task %s is running." % i)

return result

def initializer(*initargs):

print("%s appends new process..." % initargs[0])

if __name__ =='__main__':

print("Waiting for all subprocesses done...")

pool = Pool(4, initializer, 'Process pool')

result = []

for iin range(5):

result.append(pool.apply_async(task, args=(i,)))

pool.close()

pool.join()

print('All subprocesses done.')

for iin range(5):

print("task %s returns %s" % (i, result[i].get()))

Screen Shot 2018-08-19 at 21.39.17.png
上一篇 下一篇

猜你喜欢

热点阅读