3
我有一個函數調用,啓動10個線程。 這些線程開始之前,我有線程安全的python字典?
from collections import defaultdict
output = defaultdict(dict)
並且輸出爲空。
每個線程都會生成數據寫入字典。
喜歡的東西:
output['water'] = 'h20'
output['fire'] = 'delta of oxygen'
....
的線程只會增加項目,他們不遍歷任何其他項目或修改任何其他物品。 output['water']
是與output['fire']
不同的項目。我也可以保證沒有兩個線程會創建相同的項目。也就是說,每個線程T都有一個唯一的i。在代碼中:output [i]每個線程都是唯一的。
這個字典線程在這方面是否安全?
你知道python實際上在線程上很糟糕嗎?考慮你是否想要這樣做。 – Marcin
如果通過隊列發送條目,它們會自動線程安全。 – Jiminion
是的,它是安全的,因爲GIL會阻止多個線程同時執行python代碼。 – Bakuriu