1
我正在使用一个线程来执行定时计数(并在PyGTK窗口中刷新的东西)。它在一个可以改变其范围的循环内。在每次迭代结束时,计数器增加并打印数据。我想要做的是在每次打勾结束时在另一个班级接收爆炸及其数据。Python - 我如何通知线程已经完成到另一个类?
可能解决方案与套接字有关,但到目前为止,我试图避免这种情况,那么实现此目的的最佳方法是什么?
我正在使用一个线程来执行定时计数(并在PyGTK窗口中刷新的东西)。它在一个可以改变其范围的循环内。在每次迭代结束时,计数器增加并打印数据。我想要做的是在每次打勾结束时在另一个班级接收爆炸及其数据。Python - 我如何通知线程已经完成到另一个类?
可能解决方案与套接字有关,但到目前为止,我试图避免这种情况,那么实现此目的的最佳方法是什么?
最常见的解决方案在线程之间传递对象是使用Queue模块:
import threading
import Queue
import time
def Worker(queue, n):
for i in range(n):
time.sleep(i/10.0)
queue.put([i] * i)
q = Queue.Queue()
thread = threading.Thread(target=Worker, args=(q, 10))
thread.start()
results = 10
while results > 0:
print q.get()
results -= 1
对于一个更好的答案,你需要发布更多细节。
是这样的适用? http://stackoverflow.com/questions/676485/are-there-any-build-in-cross-thread-events-in-python – minikomi 2013-03-21 05:34:26