Я использую Python concurrent.futures рамки. Я использовал функцию map()
для запуска параллельных задач как таковых:
def func(i):
return i*i
list = [1,2,3,4,5]
async_executor = concurrent.futures.ThreadPoolExecutor(5)
results = async_executor.map(func,list)
Меня интересуют только первые n
результаты, и я хочу остановить исполнителя после завершения первых n
потоков, где n
— число меньше размера входного списка. Есть ли способ сделать это в Python? Есть ли другая структура, на которую я должен обратить внимание?