Esta documentação é de uma versão antiga do Python que não é mais atualizada. Você deveria atualizar e ler a documentação do Python para versão estável atual.

# 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` — Paralelismo baseado em Thread
  - Thread-Local Data
  - Thread Objects
  - Lock Objects
  - Objetos RLock
  - Condition Objects
  - Semaphore Objects
    - Exemplo `Semaphore`
  - Event Objects
  - Objetos Timer
  - Barrier Objects
  - Using locks, conditions, and semaphores in the `with` statement
- `threading` — Paralelismo baseado em processo
  - Introdução
    - A classe `Process`
    - Contextos e métodos de inicialização
    - Trocando objetos entre processos
    - Sincronização entre processos
    - Compartilhando estado entre processos.
    - Using a pool of workers
  - Referência
    - `Process` and exceptions
    - Pipes and Queues
    - Diversos
    - Connection Objects
    - Synchronization primitives
    - Shared `ctypes` Objects
      - The `multiprocessing.sharedctypes` module
    - Gerenciadores
      - Customized managers
      - Using a remote manager
    - Proxy Objects
      - Cleanup
    - Process Pools
    - Listeners and Clients
      - Formatos de Endereços
    - Authentication keys
    - Gerando logs
    - The `multiprocessing.dummy` module
  - Programming guidelines
    - All start methods
    - The spawn and forkserver start methods
  - Exemplos
- O pacote `concurrent`
- `concurrent.futures` — Iniciando tarefas em paralelo
  - Executor Objects
  - ThreadPoolExecutor
    - Exemplo de ThreadPoolExecutor
  - ``ProcessPoolExecutor``
    - ProcessPoolExecutor Example
  - Future Objects
  - Module Functions
  - Exception classes
- `subprocess` — Gerenciamento de subprocessos
  - Usando o módulo `subprocess`
    - Argumentos Usados Freqüentemente
    - Construtor Popen
    - Exceções
  - Considerações de Segurança
  - Objetos Popen
  - Windows Popen Helpers
    - Constantes do Windows
  - API de alto nível mais antiga
  - Replacing Older Functions with the `subprocess` Module
    - Replacing /bin/sh shell backquote
    - Replacing shell pipeline
    - Substituindo `os.system()`
    - Replacing the `os.spawn` family
    - Replacing `os.popen()`, `os.popen2()`, `os.popen3()`
    - Replacing functions from the `popen2` module
  - Legacy Shell Invocation Functions
  - Notas
    - Converter uma sequência de argumentos em uma string no Windows
- `sched` — Event scheduler
  - Objetos Scheduler
- `queue` — A synchronized queue class
  - Objetos Queue
  - Objetos SimpleQueue

A seguir, os módulos de suporte para alguns dos serviços acima:

- :mod:thread— API de segmentação de baixo nível
- `_dummy_thread` — Substituição direta para o módulo `_thread`
- `dummy_threading` — Substituição drop-in para o módulo `threading`