Python线程释放
我在python中运行2个线程并执行函数Python线程释放,python,python-3.x,visual-studio-code,python-multithreading,Python,Python 3.x,Visual Studio Code,Python Multithreading,我在python中运行2个线程并执行函数Do() 运行run()函数后,线程t1和t2超出范围。但是,根据VS代码,它们仍然处于运行模式 我等待他们加入()。这意味着它们被终止。那么,它们是如何继续运行的呢?如何安全释放这些线程? 进入launch.json(Ctrl+Shift+P并键入文件名) 将启动选项的设置从“type”:“python”更改为“type”:“pythonExperimental” 这似乎是vscode中的一个bug。解决方案是针对无法在VSCode之外复制这种情况而
Do()
运行run()
函数后,线程t1
和t2
超出范围。但是,根据VS代码,它们仍然处于运行模式
我等待他们加入()。这意味着它们被终止。那么,它们是如何继续运行的呢?如何安全释放这些线程?- 进入launch.json(Ctrl+Shift+P并键入文件名)
- 将启动选项的设置从
更改为“type”:“python”
“type”:“pythonExperimental”
这似乎是vscode中的一个bug。解决方案是针对无法在VSCode之外复制这种情况而发布的,我猜这是编辑器的问题,而不是Python运行时的问题。您的代码实际上不能有两个并发运行的线程,因为您在启动第二个线程之前加入了第一个线程。您使用哪个IDE测试它?有人可以确认这是VS代码中的错误吗?我在终端中运行了它,htop在第二个终端中运行,python上的过滤器打开了(您可以用F4打开它)。一旦线程连接,它们就从htop中消失。我在Linux上。请随时报告一个bug,我刚刚报告了这个。网址=
import sys, threading
def do():
print ("Execute")
def run():
def start_thread():
thread = threading.Thread(target = do)
thread.start()
thread.join()
return thread
t1 = start_thread()
t2 = start_thread()
run()
print('Press enter to Quit')
sys.stdin.readline()