是否可以在 Python 中删除一个项目并让多线程队列自行重新排序?
我让用户在队列中排队,但是当需要处理用户时,如果用户断开连接,就会引发问题。
有办法吗?
谢谢
最佳答案
Queue
对象不提供随机访问。但是,您可以通过在其他地方保留对队列中对象的引用并将它们标记为过时来实现相同的目标。当从队列中读取对象时,消费者可以检查对象是否过时,如果是,则将其丢弃并再次读取。
您还可以在 PriorityQueue
类中找到值,您可以将 (priority, message)
而不是 message
放入队列中,具有最低 priority
值的数据始终是下一个从队列中读取的数据。这本身并不能解决您的问题,但它可能会为您提供一种方法来确定最早的请求或类似请求的优先级。
关于python - 从队列中间删除一个项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8187104/