我有一些代码需要在一个单独的线程中,这段代码完全是另一个类。我正在使用multiprocess.Queue队列来共享数据。基本上我希望父基类(也是程序驱动程序)创建一个其他类的实例,并将该实例放入队列并将队列发送到新的线程类。当线程类运行并最终得到一个值时,我希望它直接从传递的队列中的实例调用一个函数。
相反,线程终止并调用我已设置的finally块。我如何在python中执行此操作?
from multiprocessing import queue
import thread
class a():
def main(self):
self.classB = b()
self.classC = C()
self.queue = Queue()
self.queue.put_nowait(self.classC)
thread.start_new_thread(self.classB.run, (self.queue))
#do stuff
class b():
def run(self, q):
#do stuff in try clause
self.listen(q)
def listen(self, q):
c = q.get()
c.someClassCMethod
编辑: 好的,我现在正在使用Queue.Queue()。我找不到提到的线程队列....我仍然无法将classC的实例发送到classB并使用它。