从队列中间移除项目?

2024-06-01 09:09:10 发布

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

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

我让用户在队列中排队,但到了处理用户的时候,如果用户断开连接,就会引发问题。

有办法吗?

谢谢


Tags: 用户排序队列排队办法
1条回答
网友
1楼 · 发布于 2024-06-01 09:09:10

Queue对象不提供随机访问。但是,通过将对队列中对象的引用保留在其他位置并将其标记为过时,可以实现相同的目标。当从队列中读取对象时,使用者可以检查该对象是否过时,如果过时,则将其丢弃并重新读取。

您还可以在PriorityQueue类中找到值,在该类中,您将(priority, message)而不仅仅是message放到队列中,并且具有最低priority值的数据始终是从队列中读取的下一个数据。这本身并不能解决您的问题,但它可能会给您一种方法来优先处理最旧的请求或类似的事情。

相关问题 更多 >