Python线程-使用有限的线程,迭代n个项目

Python线程-使用有限的线程,迭代n个项目,python,Python,下面是一个从IBMPython线程教程中读取的示例。我正在浏览这个网址 这里的示例非常有效。我一直在寻找一个稍微不同的修改。这里有已知数量的URL,例如5。在for循环中使用range5迭代URL并处理它 如果我只想使用“5”个线程来处理1000个URL怎么办?所以,当一个线程完成时,完成的URL应该从队列中删除,并且需要将新的URL添加到队列中。但所有这些都应该通过使用相同的线程来实现 我可以查一下 if self.queue.task_done(): return host 这是我

下面是一个从IBMPython线程教程中读取的示例。我正在浏览这个网址

这里的示例非常有效。我一直在寻找一个稍微不同的修改。这里有已知数量的URL,例如5。在for循环中使用range5迭代URL并处理它

如果我只想使用“5”个线程来处理1000个URL怎么办?所以,当一个线程完成时,完成的URL应该从队列中删除,并且需要将新的URL添加到队列中。但所有这些都应该通过使用相同的线程来实现

我可以查一下

if self.queue.task_done():
    return host
这是我检查URL处理是否成功的唯一方法。返回后,我应该从队列中删除URL。并向队列添加新的URL。如何使用队列实现此功能


谢谢,

该代码已经完成了您描述的操作。如果您将1000个项目放入队列而不是5个,它们将由相同的5个线程处理-每个线程将从队列中获取一个项目,处理它,然后获取一个新的项目,只要队列中还有项目。

否它不起作用。我又查了一遍。使用的线程是5,并且该线程没有一次又一次地从队列中收集主机。因此,一旦任务完成,线程将退出。
if self.queue.task_done():
    return host