資源簡介
python 單例模式(入門級)
代碼片段和文件信息
#!/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.instanc
評論
共有 條評論