Documentação completa: https://docs.python.org/3/library/concurrent.futures.html
def __init__(max_workers)
def map(func, *iterables)
- similar ao
map
(built-in) - executa
func
de modo assíncrono sobre os iteráveis.
- similar ao
def shutdown(wait=True, *, cancel_futures=False)
wait
: blocking vs non-blocking return (esperar todos os futuros pendentes terminarem).cancel_futures
: vai cancelar "futures" que não estejam rodando.
- cancel(): se a chamada estiver rodando ou se não puder ser cancelada (mesmo após concluída), retorna
False
.True
se conseguiu cancelar a chamada. - cancelled():
True
se devidamente cancelada. - running():
True
se estiver sendo executada (não pode ser cancelada). - done():
True
se foi cancelada ou finalizou a execução. - result(timeout=None): espera
timeout
segundos até o resultado da operação. - exception(timeout=None): retorna a exceção lançada pela tarefa. Retorna
None
caso a tarefa seja concluída sem erros. - add_done_callback(fn):
fn
é executada comfuture
como único argumento assim que ofuture
for concluído ou cancelado.
concurrent.futures.wait(fs, timeout=None, return_when=ALL_COMPLETED)
- Espera pela conclusão de uma sequência de futures (
fs
) por um período (timeout
) de tempo. fs
é uma sequência defutures
- retorna uma tupla den conjuntos:
(done: Set, not_done: Set)
done: Set
: futures encerrados (concluídos ou cancelados) antes dewait
terminarnot_done: Set
:
- retorna uma tupla den conjuntos:
timeout
: tempo a ser esperado para futuros encerrarem a execução. SeNone
, tempo indeterminado.return_when
:- FIRST_COMPLETED
- FIRST_EXCEPTION
- ALL_COMPLETED
- Espera pela conclusão de uma sequência de futures (
concurrent.futures.as_completed(fs, timeout=None)
- Retorna um
iterator
sobrefs
(sequência defutures
) que retorna os futures conforme eles são encerrados (concluídos ou cancelados). fs
: sequência defutures
timeout
: para cada iteração, diz o tempo máximo de espera pela conclusão dofuture
.
- Retorna um