首页 > 解决方案 > print(threading.current_thread().getName()+ str (' is started \n')) 为什么 getName() 被划掉了?

问题描述

您好,这是我的代码,但我知道为什么 getName() 被划掉了???[图片][1]
顺便说一句,我使用 python [1]:https://i.stack.imgur.com/wHWm2.png

import time

def functionOne() :
    print(threading.current_thread().getName()+ str (' is starting \n'))
    time.sleep(2)
    print(threading.current_thread().getName() + str (' is exiting \n'))
    return

def functionTwo():
    print(threading.current_thread().getName() + str (' is starting \n'))
    time.sleep(2)
    print(threading.currentthread().getName() + str (' is exiting \n'))
    return

def functionThree():
    print(threading.currentthread().getName() + str (' is starting \n'))
    time.sleep(2)
    print(threading.currentthread().getName() + str (' is exiting \n'))
    return

if __name__ == "__main__":
    t1 = threading.Thread(name='functionOne',target=functionOne)
    t2 = threading.Thread(name='functionTwo',target=functionTwo)
    t3 = threading.Thread(name='functionThree',target=functionThree)

    t1.start();
    t2.start();
    t3.start(); 

标签: pythonparallels

解决方案


getName()根据文档,最近已弃用

不推荐使用名称的 getter/setter API;而是直接将其用作属性。

自 3.10 版起已弃用。

因此,我假设您正在运行 Python 3.10,因此请改用它:

threading.current_thread().name

另请注意注释 - 稍后的代码使用currentthread()不带下划线,因此也需要更正。


推荐阅读