看看这个单例模式的实现:
if not hasattr(Singleton, "_instance"):
with Singleton._instance_lock:
if not hasattr(Singleton, "_instance"):
Singleton._instance = Singleton()
return Singleton._instance
似乎 "Singleton._instance = .." (类似于 setattr)和 hasattr 是原子的。或者说由于 setattr 的存在,hasattr 不会导致崩溃。
但我找不到任何支持上述“似乎”的证据。