Есть скрипт, который выполняется в потоке. Необходимо, чтобы после выполнения всех активных потоков - скрипт выключался на N-ое количество секунд, и затем вызывал функцию для повторного запуска, т.е. создать рекурсию. Пробовал такое провернуть после цикла for, но функция time.sleep вызывается еще во время работы потока. Как можно вызвать функцию после завершения всех активных потоков?
import time
from threading import Thread
class MyThread(Thread):
def __init__(self, name):
Thread.__init__(self)
self.name = name
def run(self):
msg = "%s is running" % self.name
print(msg)
def create_threads():
for i in range(5):
name = "Thread #%s" % (i + 1)
my_thread = MyThread(name)
my_thread.start()
time.sleep(5)
create_threads()
if __name__ == "__main__":
create_threads()