没有线程输出,但仍在Jupyther笔记本上工作

时间:2019-07-10 02:46:20

标签: python jupyter-notebook python-multithreading google-colaboratory

我已经在Google colab中尝试了一些线程测试,但是有一些奇怪的事情。

首先,在启动单元启动器后,我在输出面板上看不到任何东西,但我发现该线程正在工作。让我们看看下面的代码。

我做了一个只打印'hi'并添加一个整数的函数。 在线程“ 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

link to output

我以为我的线程已停止,因为我输入了错误的代码。

但是在我启动其他单元格只是打印“为什么”之后,我看到了我之前启动的线程正在工作的奇怪的事情。

1. Try(1)

Hi

578

why

link to output

2. Try(2)

why

Hi

613

link to output

为什么会发生这种情况,如果我想在启动后继续输出,该怎么办?

0 个答案:

没有答案