Форум сайта python.su
0
Доброе утро
Прошу подсазать как можно выводить процесс выполнения многопоточной операции.
например: должно быть сто итераций, выполнено 10
Был бы благодарен за пример с использованием одной с библиотек:
multiprocessing.dummy
threading
multiprocessing
Спасибо!
Офлайн
221
многопоточность…многопроцессность..все в одной куче. Ну да ладно.
Один из вопросов который нужно решить - как в произвольный момент понять сколько итераций было выполнено?
Второй как именно выбрать этот случайный момент, на каком участке кода должна происходить проверка?
Решение этих вопросов актуально при уже имеющимся коде.
Офлайн
0
Спасибо. Нашел ответ в concurrent.futures
with futures.ThreadPoolExecutor(max_workers=100) as executor:
fs = [executor.submit(get_data, url) for url in link]
for i, f in enumerate(futures.as_completed(fs)):
results.append(f.result())
if i%100==0:
sys.stdout.write("Выполнено: {} / {} \r".format(i, len(link)))
Офлайн