Python并发执行
本章中描述的模块支持并发执行代码。 适当的工具选择取决于要执行的任务(CPU密集型或IO密集型)和偏好的开发风格(事件驱动的协作式多任务或抢占式多任务处理)。 这是一个概述:
threading
--- 基于线程的并行- 线程本地数据
- 线程对象
- 锁对象
- 递归锁对象
- 条件对象
- 信号量对象
Semaphore
例子
- 事件对象
- 定时器对象
- 栅栏对象
- 在
with
语句中使用锁、条件和信号量
multiprocessing
--- 基于进程的并行- 概述
Process
类- 上下文和启动方法
- 在进程之间交换对象
- 进程之间的同步
- 在进程之间共享状态
- 使用工作进程
- 参考
Process
和异常- 管道和队列
- 杂项
- 连接对象(Connection)
- 同步原语
- 共享
ctypes
对象multiprocessing.sharedctypes
模块
- 数据管理器
- 自定义管理器
- 使用远程管理器
- 代理对象
- 清理
- 进程池
- 监听者及客户端
- 地址格式
- 认证密码
- 日志记录
multiprocessing.dummy
模块
- 编程指导
- 所有启动方法
- spawn 和 forkserver 启动方式
- 例子
- 概述
concurrent
包concurrent.futures
--- 启动并行任务- Executor 对象
- ThreadPoolExecutor
- ThreadPoolExecutor 例子
- ProcessPoolExecutor
- ProcessPoolExecutor 例子
- Future 对象
- 模块函数
- Exception类
subprocess
--- 子进程管理- 使用
subprocess
模块- 常用参数
- Popen 构造函数
- 异常
- 安全考量
- Popen 对象
- Windows Popen 助手
- Windows 常数
- 较旧的高阶 API
- 使用
subprocess
模块替换旧函数- Replacing /bin/sh shell backquote
- 替代 shell 管道
- 替代
os.system()
- 替代
os.spawn
函数族 - 替代
os.popen()
,os.popen2()
,os.popen3()
- 来自
popen2
模块的替代函数
- 旧式的 Shell 发起函数
- 注释
- 在 Windows 上将参数列表转换为一个字符串
- 使用
sched
--- 事件调度器- 调度器对象
queue
--- 一个同步的队列类- Queue对象
- SimpleQueue 对象
以下是上述某些服务的支持模块:
_thread
--- 底层多线程 API_dummy_thread
---_thread
的替代模块dummy_threading
--- 可直接替代threading
模块。