在 Python3 中工作,我创建了一个管理一些表的类。这个类是在 threading.Thread() 的调用中实例化的,其中我有一个由线程机制调用的“运行”函数,因此它将实例化该类。现在,该函数将永远不会退出,因为它运行一些 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 类的内容?我对这门语言有点新手。
任何答案将不胜感激。
干杯!!
为什么你不能这样做?
myObject = MyClass(name_list, list, sendQueue)
key_gui = threading.Thread(target=key_gui_run, args=(myObject,))
key_gui.start()
...
def key_gui_run(myObject):
...