可以說我有一個程序,它初始化隨機值的列表。應用程序然後產生一堆線程,每個線程都會彈出這個共享列表中的項目。我的問題是,在此操作線程安全:是list.pop在Python線程安全
try:
while global_list.pop():
...do something ..
except:
print ("list is empty")
將以往任何時候的情況是,數據丟失是由於
編輯線程之間的競爭條件:我剛纔提到鏈接Are lists thread-safe,但有操縱對於引用問題中的列表數據,我只是在討論將列表中的項目彈出列表而不是修改列表中的數據。在我的代碼片斷中,某些東西並不表示對列表數據的操作,它只是一些與列表數據無關的處理。
問題編輯,引用鏈接並不回答我的問題 –
有collections'模塊中'一個線程隊列/隊列支持彈出兩者LIFO和FIFO模式。 –
我知道這一點,我的問題與列表如何表現無法找到替代方法有關。 –