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
funcde 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.Truese conseguiu cancelar a chamada. - cancelled():
Truese devidamente cancelada. - running():
Truese estiver sendo executada (não pode ser cancelada). - done():
Truese foi cancelada ou finalizou a execução. - result(timeout=None): espera
timeoutsegundos até o resultado da operação. - exception(timeout=None): retorna a exceção lançada pela tarefa. Retorna
Nonecaso a tarefa seja concluída sem erros. - add_done_callback(fn):
fné executada comfuturecomo único argumento assim que ofuturefor 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 dewaitterminarnot_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
iteratorsobrefs(sequência defutures) que retorna os futures conforme eles são encerrados (concluídos ou cancelados). fs: sequência defuturestimeout: para cada iteração, diz o tempo máximo de espera pela conclusão dofuture.
- Retorna um