def start(self):
        """Starts the handler's workers.

        This method is thread safe but is called from the main thread.
        It is safe to call this method multiple times, extra calls are ignored.
        """
        with self.start_stop_lock:
            if self.running:
                return
            self.running = True
            self.run_thread = threading.Thread(target=self._run)
            self.run_thread.name = f"Worker_{self.uid}"
            self.run_thread.daemon = True
            self.run_thread.start()
Starts the handler's workers.

        This method is thread safe but is called from the main thread.
        It is safe to call this method multiple times, extra calls are ignored.
        
keras/src/trainers/data_adapters/py_dataset_adapter.py