首页 > 解决方案 > 如何访问队列中的索引

问题描述

我在 python 中使用队列来推送应该处理的任务(我在 python 中使用Queue类)我知道队列具有 FIFO 行为,但出于负载平衡目的,我需要传输一个数字队列中的项目(从队列末尾)到另一个处理器。

例如,假设我的队列中有 100 个任务,我想将第 80 到第 100 个项目传输到另一个处理器,所以我的问题是:是否可以访问队列中的特殊索引(例如第 80 个索引)?

标签: pythonindexingqueue

解决方案


在 Python 中实现堆栈或队列的最简单方法是使用列表。如果您的类继承了该list类型,您可以使用instance_of_your_queue[79].

class Queue(list):
    def enqueue(self, obj):
        self.append(obj)
    def dequeue(self):
        return self.pop(0)   
q = Queue()
q.enqueue(0)
q.enqueue(1)
q.enqueue(Task())
q.dequeue()
# return 0
q[1]
#return the Task you created

编辑:哎呀,你编辑了你的帖子。


推荐阅读