我有两条线。在def collectorFunction():
# collectInformation
# add to List
list.append(myReceivedData)
def senderFunction):
time.sleep(60)
sendList.append(list[:])
del list[:]
# send information
t1 = Thread(target = collectorFunction)
t1.daemon = True
t1.start()
t2 = Thread(target = senderFunction)
t2.daemon = True
t2.start()
我想做的是在后台运行一个线程,通过UDP广播不断地收集信息。我收集这些信息,把它排好队,然后发送到另一个地方。基本上是一个监控装置。我认为通过JSON调用将信息排队以发送一个数据块的网络密集度会降低。在
目前我正在使用一个全局变量。但我不喜欢用这个。我刚读过排队的情况。我看到的大多数示例都会在这个示例中显示collectorFunction,将其放入队列,以及senderFunction从队列中获取。在
但我需要的是collectorFunction无限期地放入队列中,senderFunction从队列中获取所有它能得到的东西,然后等待60秒后再重试。在
我看到的一个例子显示:
^{pr2}$
不太确定如何重新写这篇文章以满足我的需要?在
也许吧def senderFunction(queue):
while 1:
while len(queue) > 0:
item = queue.get()
# do what I need with the items
time.sleep(60)
这有道理吗?有更好的方法吗?在