-1

我要排队

lambda : Popen(.....)

稍后再打电话/等待。然后向队列中添加更多暂停的 Popens,然后再次使用它们,依此类推。

主队列模块非常关心同步,这使得 api 在某些地方感觉有点奇怪。我不关心同步(单线程程序,Popen 只是做他们的工作并在错误时抛出异常,它们不会以任何重要的方式影响环境(它们生成文件)

我是否应该只使用稍后添加的生成器。如果是这样,将项目添加到生成器的好方法是什么,请调用

gena = itertools.chain(gena,[item))

每次都显得很浪费。

4

3 回答 3

3

是的,您可以使用双端队列 (collections.deque),这是一个您可以在任一端有效推送和弹出的列表。您也可以使用列表而不必担心效率低下,因为它可能无关紧要。

于 2011-12-03T13:21:36.797 回答
3

您可以使用collections.deque

from collections import deque

queue = deque()
queue.append(new) # append
current = queue.popleft() # first item
于 2011-12-03T13:24:17.620 回答
2

由于您不关心多线程,因此合乎逻辑的选择似乎是collections.deque

于 2011-12-03T13:22:43.957 回答