def start_workers(self):
        """Start running this virtual device including any necessary worker threads."""

        if self._started:
            raise InternalError("The method start() was called twice on a BaseRunnable object.")

        self._started = True

        for worker in self._workers:
            worker.start()