Если завершение потока приводит к завершению процесса, вам необходимо сохранить все результаты в файле или создать отдельный код для вычисления среднего значения с использованием значений в файле.
Если процесс продолжает выполняться даже после потоков d ie, вы можете сделать это следующим образом.
# Moving variable to keep track of average - global variable
average = 0
# Moving variable to keep track of number of threads that ran so far - global variable
n = 0
# On thread completion
def request(host, url, req_id):
global average
global n
# Your code here
average = (average*n + new_thread_time) / (n+1)
n += 1
Обратите внимание, что эти переменные необходимо синхронизировать между потоками.