www.4688compython进阶(壹) 多进度并发机制

C:\Python27\python.exe D:/weixin/temp/testtmp.py
0 ----------- 0
0 ----------- 1
0 ----------- 2
0 ----------- 3
1 ----------- 0
1 ----------- 1
1 ----------- 2
1 ----------- 3
0 ----------- 4
0 ----------- 5
0 ----------- 6
0 ----------- 7
1 ----------- 4
1 ----------- 5
1 ----------- 6
1 ----------- 7
0 ----------- 8
0 ----------- 9
1 ----------- 8
1 ----------- 9
_____success_____

Process finished with exit code 0

pyMethod类下定义了多少个主意,getattr(pyMethod(),’out%s’%str)()  
传入的章程名不一样,调用差异的措施。些处方法名称叫字符串。

那边运用了multprocessing.Pool进度池,来动态扩张进程

那样的话,想想是还是不是用途很多,小编得以把办法名配置到文件中,读取时选择getattr动态去调用。

不前进,不倒退,结束的景色是不曾的.

 

python多进度并发机制:

 getattr(pyMethod(),'out%s'%str)()  注意pyMethod()和最后的()   这里之所以这么写pyMethod()加括号是实例化类对象,最后的括号,因为getattr函数反射后,是一个方法对象。

 

运营结果:

 

举个栗子:

#coding=utf-8
from multiprocessing import Pool
import time
def ft(x):
  #多任务,系统自动化配进程执行
  for i in range(2):
    print i,'-----------',x
    time.sleep(1)



def main_process():
    pool = Pool(processes=4) #控制进程池的大小,为4个进程
    for i in range(10):
        #添加入进程池,apply带_async,单独apply为阻塞版本;函数名target,参数args
        result = pool.apply_async(ft,(i,))

    pool.close()
    pool.join()

    if result.successful():
        print('_____success_____')


if __name__=="__main__":
    main_process()

 

美高梅手机版登录,www.4688com,Linux and
python学习沟通三群新开,欢迎出席,一起学习.qq 3群:5632278玖四

原型:getattr(对象,方法名)

Linux and
python学习调换一,二群已满.

不前进,不倒退,结束的意况是不曾的.

相关文章