我已经在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
我以为我的线程已停止,因为我输入了错误的代码。
但是在我启动其他单元格只是打印“为什么”之后,我看到了我之前启动的线程正在工作的奇怪的事情。
1. Try(1)
Hi
578
why
2. Try(2)
why
Hi
613
为什么会发生这种情况,如果我想在启动后继续输出,该怎么办?