Thread-safe singleton Class in Python


    import threading

    class Singleton:
        _instance = None
        _lock = threading.Lock()  # Lock object to synchronize threads

        def __new__(cls):
            with cls._lock:  # Critical section starts
                if cls._instance is None:
                    cls._instance = super(Singleton, cls).__new__(cls)
            return cls._instance