Execução Concorrente¶
Os módulos descritos neste capítulo fornecem suporte a execução simultânea de código. A escolha apropriada da ferramenta dependerá da tarefa a ser executada (CPU bound ou IO bound) e do estilo de desenvolvimento preferencial (multitarefa cooperativa orientada a eventos versus multitarefa preemptiva). Eis uma visão geral:
threading
— Thread-based parallelismactive_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
- Thread-Local Data
- Thread Objects
- Lock Objects
- Objetos RLock
- Condition Objects
- Semaphore Objects
- Event Objects
- Objetos Timer
- Barrier Objects
- Using locks, conditions, and semaphores in the
with
statement
multiprocessing
— Paralelismo baseado em processo- Introdução
- Referência
- Programming guidelines
- Exemplos
multiprocessing.shared_memory
— Memória compartilhada para acesso direto entre processos- O pacote
concurrent
concurrent.futures
— Launching parallel taskssubprocess
— Subprocess management- Usando o módulo
subprocess
- Considerações de Segurança
- Objetos Popen
- Windows Popen Helpers
STARTUPINFO
- Constantes do 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 de alto nível mais antiga
- Replacing Older Functions with the
subprocess
Module - Legacy Shell Invocation Functions
- Notas
- Usando o módulo
sched
— Event schedulerqueue
— A synchronized queue classcontextvars
— Variáveis de contexto
A seguir, os módulos de suporte para alguns dos serviços acima: