Уведомления

Группа в Telegram: @pythonsu

#1 Май 10, 2011 06:37:49

Nihisil
От:
Зарегистрирован: 2010-11-12
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Дождаться пока выполнятся все потоки

Есть примерно такой код

import threading
import time

def clock(interval):
print("The time is %s" % time.ctime())
time.sleep(interval)

t0 = threading.Thread(target=clock, args=(8,))
t1 = threading.Thread(target=clock, args=(13,))
t2 = threading.Thread(target=clock, args=(16,))
t3 = threading.Thread(target=clock, args=(5,))
t0.start()
t1.start()
t2.start()
t3.start()

threads = [t0, t1, t2, t3]
Как узнать что все потоки завершены, и выполнить по этому событию некоторое действие?



Офлайн

#2 Май 10, 2011 08:03:05

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Дождаться пока выполнятся все потоки

Позвать у всех потоков .join(). Когда все они отдадутся, значит потоки закончили своё выполнение.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version