我有一个线程类,当我收到消息时,我需要调用其他方法(在类外)。我怎么能成功呢?
class ClientThread(threading.Thread):
def run(self):
...
message = asdasd.sdas
outside(message)
...
def outside(m):
...
当我试着打电话给我时出错:
Exception in thread Thread-1:
Traceback (most recent call last):
....
NameError: global name 'outside' is not defined
答案 0 :(得分:1)
我的猜测是,在ClientThread
的定义与outside
的定义之间的某个省略代码中,您正在创建并启动客户端线程。此时,您的代码将尝试调用outside
并因给定错误而失败,因为该函数尚未定义。
您应该在定义outside
后启动您的主题,或者在outside
之前移动ClientThread
的定义。