python - 如何访问队列中的索引
问题描述
我在 python 中使用队列来推送应该处理的任务(我在 python 中使用Queue类)我知道队列具有 FIFO 行为,但出于负载平衡目的,我需要传输一个数字队列中的项目(从队列末尾)到另一个处理器。
例如,假设我的队列中有 100 个任务,我想将第 80 到第 100 个项目传输到另一个处理器,所以我的问题是:是否可以访问队列中的特殊索引(例如第 80 个索引)?
解决方案
在 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
编辑:哎呀,你编辑了你的帖子。
推荐阅读
- python - 为什么使用 pandas read_csv usecols 读取少量特定列的速度如此之慢?
- c++ - 将 void 函数作为参数传递给 void 函数
- tensorflow - ValueError:预期批量大小和模型输出批量大小不匹配
- java - 运行 .jar 文件时 regex.Matcher.results() 的 Java NoSuchMethodError
- r - 在 R 中的同一函数中同时使用文本和参数
- node.js - 如何在 Nodejs 中将时间码添加到 wav 文件
- apache-flink - Flink Job Fails with AsynchronousException:在处理计时器时捕获异常
- google-apps-script - 在 GAS 网页之间导航时出现空白页
- java - 如何将 JmsTemplate 与 HTTP 代理一起使用
- java - 具有双向关系的嵌套 JPA 实体的灵活序列化