python多进程执行方法apply_async简单使用

python多进程执行方法apply_async简单使用

    • apply_async简介
    • apply_async使用简明代码
    • 使用总结:

apply_async简介

python在同一个线程中多次执行同一方法时,该方法执行耗时较长且每次执行过程及结果互不影响,如果只在主进程中执行,效率会很低,因此使用multiprocessing.Pool(processes=n)及其apply_async()方法提高程序执行的并行度从而提高程序的执行效率,其中processes=n为程序并行执行的进程数。

apply_async使用简明代码

import mutiprocessing

#method为多次调用的方法
def method(param):
    pass

if __name__ == '__main__':

    pool = multiprocessing.Pool(processes=5)

    params= ['param1', 'param2', 'param3', 'param4', 'param5']

    for param in params:

        pool.apply_async(method, args=(param, ))
    
    pool.close()

使用总结:

apply_async是异步非阻塞式,不用等待当前进程执行完毕,随时跟进操作系统调度来进行进程切换,即多个进程并行执行,提高程序的执行效率。

你可能感兴趣的:(python)