У меня есть ThreadPoolExecutor
с двумя рабочими:
from concurrent.futures import ThreadPoolExecutor
from concurrent.futures import wait
with ThreadPoolExecutor(max_workers=2) as executor:
start_time = time()
future_fuctions = [executor.submit(
self._future_method_a,
args1,
),
executor.submit(
self._future_method_b,
args1,
)]
wait(future_fuctions)
print('Max time taken by any future : {}'.format(time()-start_time)
Я хочу дождаться окончания выполнения обеих функций, прежде чем делать другие вещи, поэтому добавил wait(future_functions)
. Результаты, которые я могу использовать как
results_a = future_fuctions[0].result()
results_b = future_fuctions[1].result()
Максимальное время, затрачиваемое любыми будущими функциями, я могу вычислить с помощью time() - start_time
, но я хотел вычислить индивидуальное время, взятое будущими функциями для _future_method_a
и _future_method_b
,Я не мог найти что-нибудь, это документы . Есть ли какая-нибудь утилита, которую я могу использовать для расчета индивидуального времени?