python中进程池例子
在利用Python进行系统管理的时候,特别是同时操作多个文件目录,或者远程控制多台主机,并行操作可以节约大量的时间。当被操作对象数目不大时,可以直接利用multiprocessing中的Process动态成生多个进程,10几个还好,但如果是上百个,上千个目标,手动的去限制进程数量却又太过繁琐,这时候进程池Pool发挥作用的时候就到了。
-
#!/usr/bin/env
python
-
#coding=utf-8
-
"""
-
Author: Squall
-
Last modified: 2011-10-18 16:50
-
Filename: pool.py
-
Description: a simple sample for pool class
- """
-
-
from
multiprocessing import Pool
-
from
time import sleep
-
def
f(x):
-
for i in range(10):
-
print ‘%s --- %s ‘ % (i, x)
-
sleep(1)
-
-
-
def
main():
-
pool = Pool(processes=3) # set the processes max number 3
-
for i in range(11,20):
-
result = pool.apply_async(f, (i,))
-
pool.close()
-
pool.join()
-
if result.successful():
-
print ‘successful‘
-
-
-
if
__name__ == "__main__":
-
main()
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。