python中单例模式的线程安全问题python单例模式
看了好多⽂章都是java实现的,特此写⼀篇python的。
这个问题的两种解决⽅案:
1.最简单粗暴的就是在系统中先⽣成⼀个单例,就不存在线程安全问题了
2.
class Singleton(object):
_instance_lock = threading.Lock()
def __new__(cls, *args, **kwargs):
if not hasattr(cls, "_instance"):
with cls._instance_lock:
if not hasattr(cls, "_instance"):
impl = figure() if hasattr(cls, "configure") else cls
instance = super(Singleton, cls).__new__(impl, *args, **kwargs)
if not isinstance(instance, cls):
instance.__init__(*args, **kwargs)
cls._instance = instance
return cls._instance
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论