lässt sagen, ich habe ein Programm, das eine Liste mit zufälligen Werten initialisiert. Die Anwendung erzeugt dann eine Reihe von Threads, und jeder Thread hält Objekte aus dieser freigegebenen Liste heraus. Meine Frage ist, wird dieser Vorgang Thread-sicher:ist list.pop thread sicher in python
try:
while global_list.pop():
...do something ..
except:
print ("list is empty")
Wird es jemals der Fall sein, dass Daten aufgrund von Racebedingung zwischen Threads verloren
EDIT: ich genannt habe Are lists thread-safe zu verbinden, aber es ist Manipulation Auf Listendaten in der referenzierten Frage spreche ich nur über das Herausspringen von Elementen aus der Liste, die die Liste und nicht die darin enthaltenen Daten verändern. In meinem Code-Snippet bedeutet etwas nicht Operationen auf Listendaten, es ist einfach eine Verarbeitung, die nichts mit Listendaten zu tun hat.
Frage bearbeitet, referenzierter Link beantwortet meine Frage nicht –
Es gibt eine threadsafe Warteschlange/Warteschlange in 'Sammlungen' Modul, das Popup und beide LIFO und FIFO-Modi unterstützt. –
Ich bin mir wieder dessen bewusst, meine Frage bezieht sich darauf, wie sich Listen verhalten, wenn sie keine Alternative finden. –