为什么它还在增长?

2024-09-26 22:55:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个服务器接收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中的数据就越多。据我所知,q.get()可能会从那里删除数据,对于那里的每一位数据,它都应该生成一个线程来删除它。你知道吗

有人能告诉我,我是如何在队列中处理越来越多的数据的吗?你知道吗

它是不是比1:能循环检查的速度快?你知道吗


Tags: 数据targetdataget队列queue线程thread

热门问题