【问题标题】:print(threading.current_thread().getName()+ str (' is starting \n')) why is the getName() crossed out?print(threading.current_thread().getName()+ str (' is started \n')) 为什么 getName() 被划掉了?
【发布时间】:2021-10-21 04:48:17
【问题描述】:

您好,这是我的代码,但我知道为什么 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(); 

【问题讨论】:

标签: python parallels


【解决方案1】:

getName() 有 been recently deprecated,根据文档:

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

自 3.10 版起已弃用。

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

threading.current_thread().name

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-16
    • 1970-01-01
    • 2019-10-13
    • 2014-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多