我有一台服务器获取TCP数据并生成线程来解析和处理数据。我注意到它是否开始得到太多的连接出错了它开始停止,所以在狩猎后我发现我的队列稳定地获得越来越多的数据,即使我经常使用q.get()
队列清空线程的片段:
def QDUmp():
while 1:
if not q.empty():
data= str(q.get())
ParseThread = Thread(target = ParseFunction(data))
ParseThread.start()
CheckQ = Thread(target = QDUmp)
CheckQ.start()
TCP正在不断添加数据,只需使用像这样的标准:
q = Queue.Queue()
For eachdata from Socket:
q.put(eachdata)
所以...数据进入并且数据输出但是它的输出速度不够快。
运行的时间越长,越多的数据就越多。据我所知,q.get()将从那里删除数据,对于那里的每一位数据,它应该产生一个线程来删除它。
任何人都可以了解我如何在该队列中收集越来越多的数据?
它是否比1更快进入:能够循环并检查它吗?
答案 0 :(得分:1)
我认为TCP数据接收器的速度比数据处理器快。您可以添加一个计数器来计算输出的数据量和数量,以便了解队列是否在不断增长。