并发执行 ¶
此章描述的模块为代码的并发执行提供支持。合适工具的抉择取决于要执行的任务 (CPU 绑定 vs IO 绑定) 和首选的开发风格 (事件驱动的协作多任务 vs 抢占式多任务)。这里是概述:
-
threading— 基于线程的并行-
active_count() -
current_thread() -
excepthook() -
__excepthook__ -
get_ident() -
get_native_id() -
enumerate() -
main_thread() -
settrace() -
settrace_all_threads() -
gettrace() -
setprofile() -
setprofile_all_threads() -
getprofile() -
stack_size() -
TIMEOUT_MAX - 线程局部数据
- 线程对象
- 锁对象
- RLock 对象
- 条件对象
- 信号量对象
- 事件对象
- 计时器对象
- 屏障对象
-
使用锁、条件和信号量在
with语句
-
-
multiprocessing— 基于进程的并行 -
multiprocessing.shared_memory— 用于跨进程直接访问的共享内存 -
The
concurrent包 -
concurrent.futures— 发起并行任务 -
subprocess— 子进程管理-
使用
subprocess模块 - 安全注意事项
- Popen 对象
-
Windows Popen 帮手
-
STARTUPINFO -
Windows 常量
-
STD_INPUT_HANDLE -
STD_OUTPUT_HANDLE -
STD_ERROR_HANDLE -
SW_HIDE -
STARTF_USESTDHANDLES -
STARTF_USESHOWWINDOW -
STARTF_FORCEONFEEDBACK -
STARTF_FORCEOFFFEEDBACK -
CREATE_NEW_CONSOLE -
CREATE_NEW_PROCESS_GROUP -
ABOVE_NORMAL_PRIORITY_CLASS -
BELOW_NORMAL_PRIORITY_CLASS -
HIGH_PRIORITY_CLASS -
IDLE_PRIORITY_CLASS -
NORMAL_PRIORITY_CLASS -
REALTIME_PRIORITY_CLASS -
CREATE_NO_WINDOW -
DETACHED_PROCESS -
CREATE_DEFAULT_ERROR_MODE -
CREATE_BREAKAWAY_FROM_JOB
-
-
- 较旧的高级 API
-
替换旧函数采用
subprocess模块 - 传统 Shell 援引函数
- 注意事项
-
使用
-
sched— 事件调度器 -
queue— 同步队列类 -
contextvars— 上下文变量
以下是某些上述服务的支持模块: