Python multiprocessing多进程编程实战指南

山间有风
山间有风
发布时间:2026-10-13 | 4人浏览过
原创

本文介绍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()

以上即为本文的全部内容,希望这些示例能对您的学习有所帮助,同时也欢迎大家继续支持本站。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表