Я попытался проверить поток в google colab, но есть какая-то странная вещь.
Сначала я не вижу ничего на панели вывода после запуска средства запуска ячеек, но выясняю, что поток работает.Давайте посмотрим код ниже.
Я сделал функцию, которая просто печатает 'привет' и добавляет целое значение i one.После объединения функции в потоке 'th'.
import threading
import time
def worker(i):
while 1:
print("Hi")
i+=1
print("{}".format(i))
time.sleep(1)
i = 0
th = threading.Thread(target=worker, args=(i,))
th.start()
Я представляю, что выходные данные продолжают генерировать "Hi 1", "Hi 2", "Hi 3" ... пока я не выйду из среды выполнения, потому чтофункция принимает бесконечный цикл, но завершается, как показано ниже
Hi
1
ссылка на вывод
Я думал, что мой поток остановлен, потому что я сделал неправильный код.
Но после того, как я запустил другую ячейку, просто печатая «почему», я увидел странную вещь, что поток, который я запустил раньше, работает.
1. Try(1)
Hi
578
why
ссылка на вывод
2. Try(2)
why
Hi
613
ссылка на вывод
Почему это произошло, и если я хочу непрерывно выводить данные после запуска, как я могу это сделать?