Найти - Пользователи
Полная версия: потоки
Начало » Python для новичков » потоки
1
Zverushko
Доброго дня!

имею функцию, которая что-то делает.
имею список элементов, с которыми нужно что-то сделать
создаю пустой список для результатов
пишу класс для потока, где есть функция run, которая добавляет результат в список результатов
циклом создаю столько потоков, сколько элементов в списке элементов

пытаюсь вывести список результатов на экран, но он выводится раньше, чем закончились потоки, и следовательно пустой, если напишу time.sleep(10), то выводит нормально.

лок не использую в принципе.

как лучше написать код что-бы передавал переменную с результатами только после завершения всех потоков?
doza_and
“Other threads can call a thread’s join()”
Zverushko
интересно что c
for element in a:
    t=MyThread(element)
    t.start()
    t.join()

код выполняется заметно дольше, чем
while threading.active_count()>1:
    time.sleep(1)
o7412369815963
Zverushko
код выполняется заметно дольше, чем
все join нужно вызвать после того как стартанете все потоки
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB