如何继续检查项目清单

时间:2018-07-19 05:47:54

标签: python python-3.x python-multiprocessing

我想检查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)

1 个答案:

答案 0 :(得分:3)

我猜您指的是一个Producer-Consumer问题。有多种使用多个线程或多个进程以及使用不同数据结构来解决它的方法。但是,最常见的是队列。

我只是分享Python中Producer-Consumer的一种参考实现。您可以以此为参考并即兴创作。

https://www.agiliq.com/blog/2013/10/producer-consumer-problem-in-python/