Source code for koapy.utils.threading

import threading


[docs]class Singleton: _instance = None _lock = threading.RLock() @classmethod def _get_instance_without_check(cls, *args, **kwargs): return cls._instance @classmethod
[docs] def get_instance(cls, *args, **kwargs): with cls._lock: if not isinstance(cls._instance, cls): cls._instance = cls(*args, **kwargs) cls.get_instance = cls._get_instance_without_check return cls._instance