似乎有理由相信,dict.pop
原子操作,因爲它提出了KeyError
如果指定鍵是失蹤,沒有默認設置,像這樣:是Python的dict.pop原子嗎?
d.pop(k)
但是,文件沒有出現專門針對這一點,至少不在具體記載dict.pop
的部分。
這個問題發生在我身上,因爲我正在審查an answer of mine其使用該模式:if
期間
if k in d: del d[k]
當時,我沒有想到的潛在條件,一個關鍵的可能是存在的,但不在del
時。如果dict.pop
確實提供了原子替代方法,那麼我應該在我的答案中注意。
相關:[什麼樣的全局值突變是線程安全的?](http://goo.gl/dHxwN) –