Python线程释放

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之外复制这种情况而

我在python中运行2个线程并执行函数
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()