You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IronPython中独立线程内的Python代码为何无法输出内容?

问题原因与解决方法

你的问题出在主线程提前退出,导致子线程被强制终止:
-.NET 默认创建的是后台线程,当所有前台线程(比如程序的主线程)执行完毕后,进程会直接终止,后台线程不管有没有执行完都会被销毁,所以你看不到Loop方法的输出。

两种解决办法

1. 让主线程等待子线程执行完毕

在启动线程后调用Join()方法,阻塞主线程直到子线程完成:

def Loop():
    for i in range(0,10):
        print(i)

Updating_Thread = Thread(ThreadStart(Loop))
Updating_Thread.Start()
Updating_Thread.Join()  # 等待子线程执行完成后,主线程再继续退出

2. 将子线程设置为前台线程

前台线程会阻止进程终止,只有所有前台线程都结束后,进程才会退出:

def Loop():
    for i in range(0,10):
        print(i)

Updating_Thread = Thread(ThreadStart(Loop))
Updating_Thread.IsBackground = False  # 标记为前台线程
Updating_Thread.Start()

内容的提问来源于stack exchange,提问作者Hoernchen117

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 11:59:51