併發執行¶
本章描述的模組提供了對程式碼併發執行的支援。 對工具的恰當選擇將取決於要執行的任務(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
— 用於跨程序直接訪問的共享記憶體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
— 上下文變數
以下是上述某些服務的支援模組