class_docstr: ``AsyncCheckpointIO`` enables saving the checkpoints asynchronously in a thread.
  
  .. warning::  This is an :ref:`experimental <versioning:Experimental API>` feature.
  
  Args:
      checkpoint_io: A checkpoint IO plugin that is used as the basis for async checkpointing.
docstr: Uses the ``ThreadPoolExecutor`` to save the checkpoints using the base ``checkpoint_io``.
docstr_tok: ["Uses","the","``","ThreadPoolExecutor","``","to","save","the","checkpoints","using","the","base","``","checkpoint_io","``","."]
code: def save_checkpoint(self, *args: Any, **kwargs: Any) -> None:
      """Uses the ``ThreadPoolExecutor`` to save the checkpoints using the base ``checkpoint_io``."""
  
      def _save_checkpoint(*args: Any, **kwargs: Any) -> None:
          try:
              assert self.checkpoint_io is not None
              self.checkpoint_io.save_checkpoint(*args, **kwargs)
          except BaseException as ex:
              self._error = ex
  
      self._executor.submit(_save_checkpoint, *args, **kwargs)
  
      # if an error was raised between the previous time `save_checkpoint`` was called and now,
      # because `executor.submit` is not blocking
      if self._error:
          raise self._error
  
file_path: pytorch-lightning/src/lightning/pytorch/plugins/io/async_plugin.py
imports: from concurrent.futures import ThreadPoolExecutor
  from typing import Any, Optional
  from typing_extensions import override
  from lightning.fabric.plugins import CheckpointIO
  from lightning.pytorch.plugins.io.wrapper import _WrappingCheckpointIO
label_desc: Use image node_id 2 for calling the AsyncCheckpointIO obj's underlying member method code with example usage: obj.save_checkpoint() without return types