wie ist die Reihenfolge der Daten in einer Queue, FIFO, LIFO?
In der Konsole ergibt sich folgendes:
Code: Alles auswählen
dataQueue = Queue()
dataQueue.put(1)
dataQueue.put(2)
dataQueue.put(3)
print dataQueue.get()
1
print dataQueue.get()
2
print dataQueue.get()
3
- Verhält sich die Queue immer so, wie ein FIFO?
- Gibt es ein pop(), um LIFO-Verhalten zu erzwingen?
In meinem Progrämmchen mit 2 Threads habe ich etwas anderes beobachtet, da schienen sich laufzeitabhängig Einträge zu "überholen" bzw. Daten zu "fehlen":
Code: Alles auswählen
Thread 1:
dataQueue.put(1)
dataQueue.put(2)
dataQueue.put(3)
dataQueue.put(4)
dataQueue.put(5)
dataQueue.put(6)
Thread 2:
print dataQueue.get()
1
print dataQueue.get()
2
print dataQueue.get()
5
Gruß und Danke,
Christoph