Использование шаблона синглтон
- Автор: Silver
- Просмотров: 467
Для использования шаблона синглтон создаём метаклсс и применяем его к рабочему классу, как-то так:
class Singleton(type): _instances = {} def __call__(cls, *args, **kwargs): if cls not in cls._instances: cls._instances[cls] = super(Singleton, cls).__call__(*args, **kwargs) return cls._instances[cls] class Logger(Thread,metaclass=Singleton): """Класс что-то делает""" def __init__(self): Thread.__init__(self) self.path = os.getcwd()+'\\Logs' self.log_queue=Queue() self.ini_queue=Queue() self.is_started=False if not os.path.exists(self.path): os.mkdir(self.path) self.start()