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

Python中如何获取指定线程的名称?

问题分析

你当前的代码里,print(threading.current_thread().name)是主线程执行的代码,threading.current_thread()只会返回正在执行这行代码的线程,所以输出MainThread是正常的——你要获取的test_thread是另一个子线程,主线程里直接调用这个方法拿不到它的名字。

两种正确解决方案

方案1:在子线程内部获取线程名

子线程的执行逻辑在test函数里,在这个函数内调用threading.current_thread().name,就能拿到当前子线程的名字:

import threading

def test():
    print("test")
    print(threading.current_thread().name)  # 子线程内获取自身名称

t = threading.Thread(target=test, name="test_thread")
t.start()
t.join()

执行输出:

test
test_thread

方案2:直接访问线程对象的name属性

你创建线程时已经给它命名为test_thread,主线程可以直接通过线程对象t的name属性获取这个名称:

import threading

def test():
    print("test")

t = threading.Thread(target=test, name="test_thread")
t.start()
print(t.name)  # 直接访问线程对象的name属性
t.join()

执行输出:

test
test_thread

内容的提问来源于stack exchange,提问作者Super Kai - Kazuya Ito

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 01:25:29