基本信息
源码名称:python 单例模式(入门级)
源码大小:0.95KB
文件格式:.py
开发语言:Python
更新时间:2019-03-13
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 1 元×
微信扫码支付:1 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
#!/usr/bin/python # -*- coding: utf-8 -*- import threading def synchronized(func): func.__lock__=threading.Lock() def synced_func(*args,**kws): with func.__lock__ : return func(*args,**kws) return synced_func class Singleton(object): instance=None @synchronized def __new__(cls,*args,**kw): if cls.instance is None: cls.instance = object.__new__(cls, *args, **kw) return cls.instance def __init__(self, num): self.a = num 5 def printf(self): print(self.a) def worker(i): single_test = Singleton(i) single_test.printf() print "id----> %s" % id(single_test) if __name__ == "__main__": task_list = [] for i in range(3): t = threading.Thread(target=worker,args=(i,)) task_list.append(t) for one in task_list: one.start() for one in task_list: one.join()