Python multiprocessing多进程编程实战指南
本文介绍Python中multiprocessing模块的多进程编程方法。通过具体代码实例,演示如何创建独立进程、获取进程ID,以及使用进程池Pool进行任务管理。内容涵盖Process类的基础用法和Pool池的高级特性,帮助开发者掌握Python并发编程的核心技巧。
Python多进程编程概述
在前文《多线程与多进程的比较》中,我们曾探讨过一种多进程编程的实现路径。
接下来,我们将重点介绍另一种常用的多进程编程方式,即利用Python内置的multiprocessing模块进行开发。
multiprocessing核心代码解析
import multiprocessing
import time
def get_html(n):
time.sleep(n)
print('sub process %s' % n)
return n
if __name__ == '__main__':
# 多进程编程
process = multiprocessing.Process(target=get_html, args=(2,))
process.start()
print(process.pid) # 进程号
process.join()
print('main process success!')
# 使用多进程池编程
pool = multiprocessing.Pool(multiprocessing.cpu_count())
# result =pool.apply_async(get_html, (3,))
# # 关闭pool
# pool.close()
# # 等待所有任务完成
# pool.join()
# print(result.get())
# 使用imap方法, 有序执行,且直接返回结果值
# for result in pool.imap(get_html, [1, 5, 3]):
# print('{} sleep success'.format(result))
# pool.close()
# imap_unordered 与imap相似,但是谁先执行完成,谁先返回结果
# for result in pool.imap_unordered(get_html, [1, 5, 3]):
# print('{} sleep success'.format(result))
# pool.close()
以上即为本文的全部内容,希望这些示例能对您的学习有所帮助,同时也欢迎大家继续支持本站。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









