Нет выхода из потока, но все еще работает снаружи на ноутбуке Jupyther - PullRequest
0 голосов
/ 10 июля 2019

Я попытался проверить поток в 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

ссылка на вывод

Почему это произошло, и если я хочу непрерывно выводить данные после запуска, как я могу это сделать?

...