【问题标题】:What are thread names used for in Python?Python中使用的线程名称是什么?
【发布时间】:2022-11-01 17:52:01
【问题描述】:

我发现每个线程都有自己的名称,例如Thread-1,Thread-2test_thread如下所示:

thread1 = threading.Thread(target=test)
thread2 = threading.Thread(target=test)
thread3 = threading.Thread(target=test, name="test_thread")

print(thread1.name) # "Thread-1"
print(thread2.name) # "Thread-2"
print(thread3.name) # "test_thread"

但是,我找不到为什么每个线程都有自己的名称。

那么,线程名称是做什么用的呢?

【问题讨论】:

标签: python python-3.x multithreading python-multithreading


【解决方案1】:

作为documentation says

仅用于标识目的的字符串。它没有语义。多个线程可以被赋予相同的名称。

即使计算机不在乎,其他库也可以使用线程名称(您可以使用threading.currentThread().name 获取它)。

例如。 logging 支持%(threadName)s,因此您可以记录哪个线程正在发出消息;这在程序中可能很有用,例如在一个线程中下载东西并分派其他线程来处理项目,或者其他什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-30
    • 1970-01-01
    • 2013-02-11
    • 2019-01-31
    • 1970-01-01
    • 2019-12-08
    • 1970-01-01
    相关资源
    最近更新 更多