在准备面试的过程中,看到网络上很多关于单例模式的线程不安全方面的知识
如下,一个单例模式:
class Singleton(object):
"""
单例
"""
isinstance = None
def __new__(cls, *args, **kwargs):
if cls.isinstance is None:
cls.isinstance = object.__new__(cls, *args, **kwargs)
return cls.isinstance
a = Singleton()
b = Singleton()
print(id(a))
print(id(b))
执行效果:
问题是:网络上各种文章说,这个单例线程不安全,需要加锁啊装饰器啊之类的,那这个单例怎么就线程不安全了?