如何不断检查项目列表
How to keep checking a list for items
我想查看 python 列表中的项目。如果那里有一个项目,请用它做点什么。例如:
- 时间 0:没有项目 - 什么都不做
- 时间 1:添加了 1 个项目 - 删除项目以对其进行处理
- 时间 2:列表中有 0 个项目 - 什么都不做
- 时间 3:添加了 2 个项目 - 删除了 1 个项目以对其进行处理。还剩 1 件。
- 时间 4:添加了 1 项(之前已经有 1 项)- 共 2 项。删除 1 项以对其进行处理。还剩 1 件。
- 时间 5:添加了 0 个项目(列表中已有 1 个项目)- 删除项目以对其进行处理。
- 无穷大
我在考虑管道和多处理,但最好的方法是什么?这是一些伪代码:
arr = []
<code to read from a datastream and add interesting things to arr>
when(len(arr) > 0):
item = arr.pop()
print(item)
我猜你指的是一个 Producer-Consumer
问题。有多种方法可以使用多线程或多进程并使用不同的数据结构来解决它。但是,最常见的是队列。
我只是在Python中分享一个生产者-消费者的参考实现。大家可以参考一下,自己凑合。
https://www.agiliq.com/blog/2013/10/producer-consumer-problem-in-python/
我想查看 python 列表中的项目。如果那里有一个项目,请用它做点什么。例如:
- 时间 0:没有项目 - 什么都不做
- 时间 1:添加了 1 个项目 - 删除项目以对其进行处理
- 时间 2:列表中有 0 个项目 - 什么都不做
- 时间 3:添加了 2 个项目 - 删除了 1 个项目以对其进行处理。还剩 1 件。
- 时间 4:添加了 1 项(之前已经有 1 项)- 共 2 项。删除 1 项以对其进行处理。还剩 1 件。
- 时间 5:添加了 0 个项目(列表中已有 1 个项目)- 删除项目以对其进行处理。
- 无穷大
我在考虑管道和多处理,但最好的方法是什么?这是一些伪代码:
arr = []
<code to read from a datastream and add interesting things to arr>
when(len(arr) > 0):
item = arr.pop()
print(item)
我猜你指的是一个 Producer-Consumer
问题。有多种方法可以使用多线程或多进程并使用不同的数据结构来解决它。但是,最常见的是队列。
我只是在Python中分享一个生产者-消费者的参考实现。大家可以参考一下,自己凑合。
https://www.agiliq.com/blog/2013/10/producer-consumer-problem-in-python/