Pregunta

Quiero hacer cola

lambda : Popen(.....)

Llamar/esperar en un momento posterior. Luego agregue un poco más a Popens pausado a la cola, luego consumalos nuevamente, y así sucesivamente.

El módulo de cola principal se preocupa mucho por la sincronización y esto hace que la API se sienta un poco extraña en algunos lugares. No me importa sincronizar (programa de un solo rostro, Popen simplemente haga su trabajo y arroje una excepción por error y no afectan el entorno de ninguna manera importante (generan archivos)

¿Debería usar un generador que le agregue más adelante? Si es así, ¿cuál es una buena forma de agregar elementos a los generadores, llamar

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

Cada vez parece derrochador.

¿Fue útil?

Solución

Sí, puede usar un Deque (colección.deque), que es una lista que puede presionar y explotar de manera eficiente en cualquier extremo. También podría usar una lista y no preocuparse por la ineficiencia, ya que probablemente no importa.

Otros consejos

Puedes usar colección.deque:

from collections import deque

queue = deque()
queue.append(new) # append
current = queue.popleft() # first item

Dado que no le preocupa la multicina, la elección lógica parece estar colección.deque.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top