在Python 3中,我创建了一个管理一些表的类.这个类是用threading. Thread()调用实例化的,其中我有一个"run"函数,它由threads机制调用,因此它将实例化这个类.现在,该函数将永远不会退出,因为它运行一些tk代码,并处于一个无限循环中.因此类实例化的返回值不可用.
key_gui = threading.Thread(target=key_gui_run, args=(key_name_list, list, sendQueue, ))
key_gui.start()
被调用的函数只是简单的:
def key_gui_run(large_list, small_list, queue):
myObject = MyClass(large_list, small_list, queue)
当系统运行时,MyClass创建的对象会操纵一些数据.我只想调用对象中的一个方法来获取数据.然而,线程类的要求不允许我获得对对象的引用.这是因为key_gui_run()永远不存在,myObject的值永远不可用.
有没有绕过这个两难境地的标准方法?我是否遗漏了一些我应该知道的关于Python类的内容?我对这门语言还是个新手.
任何答复都将不胜感激.
干杯!!