code: def threadpool(self, executor: Union[Executor, str] = None):
          
          assert check_argument_types()
          if isinstance(executor, str):
              executor = self.require_resource(Executor, executor)
  
          return asyncio_extras.threadpool(executor)
docs: Return an asynchronous context manager that runs the block in a (thread pool) executor.
  
          :param executor: either an :class:`~concurrent.futures.Executor` instance, the resource
              name of one or ``None`` to use the event loop's default executor
          :return: an asynchronous context manager