完整的单例模式

北慕城南 提交于 2019-11-30 01:59:08
import timeimport threadingclass Singsing:    lock = threading.Lock()    instance = None    def __init__(self, name):        self.name = name    def __new__(cls, *args, **kwargs):        if cls.instance:            return cls.instance        with cls.lock:            if cls.instance:                return cls.instance            time.sleep(0.1)            cls.instance = object.__new__(cls)            return cls.instancedef task():    singer = Singsing('name')    print(singer)for i in range(10):    t = threading.Thread(target=task)    t.start()
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!