Форум сайта python.su
Доброго дня!
имею функцию, которая что-то делает.
имею список элементов, с которыми нужно что-то сделать
создаю пустой список для результатов
пишу класс для потока, где есть функция run, которая добавляет результат в список результатов
циклом создаю столько потоков, сколько элементов в списке элементов
пытаюсь вывести список результатов на экран, но он выводится раньше, чем закончились потоки, и следовательно пустой, если напишу time.sleep(10), то выводит нормально.
лок не использую в принципе.
как лучше написать код что-бы передавал переменную с результатами только после завершения всех потоков?
Офлайн
“Other threads can call a thread’s join()”
Офлайн
интересно что c
for element in a: t=MyThread(element) t.start() t.join()
while threading.active_count()>1: time.sleep(1)
Офлайн
Zverushkoвсе join нужно вызвать после того как стартанете все потоки
код выполняется заметно дольше, чем
Офлайн