python - 从队列中间删除一个项目?

标签 python multithreading queue

是否可以在 Python 中删除一个项目并让多线程队列自行重新排序?

我让用户在队列中排队,但是当需要处理用户时,如果用户断开连接,就会引发问题。

有办法吗?

谢谢

最佳答案

Queue 对象不提供随机访问。但是,您可以通过在其他地方保留对队列中对象的引用并将它们标记为过时来实现相同的目标。当从队列中读取对象时,消费者可以检查对象是否过时,如果是,则将其丢弃并再次读取。

您还可以在 PriorityQueue 类中找到值,您可以将 (priority, message) 而不是 message 放入队列中,具有最低 priority 值的数据始终是下一个从队列中读取的数据。这本身并不能解决您的问题,但它可能会为您提供一种方法来确定最早的请求或类似请求的优先级。

关于python - 从队列中间删除一个项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8187104/

相关文章:

python - 如何在 Pandas 中获取数据框的列片

python - 无法解析(可能)有效的 json 对象

R Shiny - 连续后台任务

c++ - 从另一个线程杀死线程C++

queue - 如何使用两个队列实现优先级队列

python - Scikit learn中的R2值是怎么计算出来的?

python - 使用列表选择具有多个条件的 Dataframe 记录

java - 可见性和排序之间的关系/区别是什么?

javascript - 具有 async/await 风格函数的 async.queue

python - 检查元组的 priorityQueue 中是否存在元素