python-面向运行时性能优化-multiprocessing

python-面向运行时性能优化-multiprocessing

  • 一:多进程介绍
    • 1> 基本思想
    • 2> 模式分类
    • 3> 引入进程原因
    • 4> 进程特征
  • 二:multiprocessing模块
    • 1> multiprocessing 介绍
      • 1. multiprocessing demo
    • 2> multiprocessing启动方法
    • 3> Process 类
      • 1. Process demo
      • 2. Process 参数
      • 3. Process 方法
    • 4> Pool 类
      • 1. Pool demo
      • 2. Pool 方法
        • A: map
        • B: apply_async
    • 5> Lock 类
      • 1. Lock demo
  • 三:进程通信
    • 1> Queue
    • 2> Pipe
    • 3> Value&Array-共享内存
  • 四: 进程间同步
    • 1> multiprocessing 同步demo
    • 2> 共享内存
    • 3> 服务进程- Manager()
      • 1. Manager demo
  • 五: multiprocessing类&方法概述
    • 1> 类-创建管理进程模块
    • 2> 类-方法功能概览
      • 1. Process
      • 2. Pool
      • 3. Lock
      • 4. Manager
      • 5. Queue
      • 6. Pipe
      • 7. Value&Array
  • 六:问题解决
    • 1> 子进程的异常处理
  • 七:multiprocessing需要注意
    • 1> 注意事项

一:多进程介绍

1> 基本思想

算法可以划分为不同的 workers-处理器处理,可以根据机器核数并行部署运行;
并行计算涉及在处理器的多个核心之间执行多个任务,这意味着这些任务是同时执行的,同时并考虑并行方式是否优化可以加快我们的计算速度;
结构组成由-程序、数据和进程控制块组成

2> 模式分类

模式 含义
完全平行 任务可以独立运行,不需要相互通信
共享内存并行 程(或线程)需要通信,因此它们共享一个全局地址空间
消息传递 进程需要在需要时共享消息。

3> 引入进程原因

序列 原因
1 为了提高资源利用率和系统处理能力,现阶段计算机系统都是多道程序系统,即多道程序并发执行。
2 优化系统资源,方便计算机调度,避免系统运算紊乱。
3 进程是一种数据结构,能够清晰的刻画动态系统的内在规律,增加程序运行时的动态性

4> 进程特征

特征 注释
动态性 进程的实质是程序在多道程序系统中的一次执行过程,进程是动态产生,动态消亡的。
并发性 任何进程都可以同其他进程一起并发执行。
独立性 进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位。
异步性 由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进

二:multiprocessing模块

1> multiprocessing 介绍

multiprocessing 是一个支持使用与 threading 模块类似的 API 来产生进程的包;
multiprocessing 包同时提供了本地和远程并发操作,通过使用子进程而非线程有效地绕过了 全局解释器锁;
multiprocessing 模块还引入了在 threading 模块中没有的API。一个主要的例子就是 Pool 对象,它提供了一种快捷的方法,赋予函数并行化处理一系列输入值的能力,可以将输入数据分配给不同进程处理(数据并行);

你可能感兴趣的:(python,性能优化,网络)