class_docstr: Wrapper around `History` implementations that run the `load()` generator in
  a thread.
  
  Use this to increase the start-up time of prompt_toolkit applications.
  History entries are available as soon as they are loaded. We don't have to
  wait for everything to be loaded.
code: def _in_load_thread(self) -> None:
      try:
          # Start with an empty list. In case `append_string()` was called
          # before `load()` happened. Then `.store_string()` will have
          # written these entries back to disk and we will reload it.
          self._loaded_strings = []
  
          for item in self.history.load_history_strings():
              with self._lock:
                  self._loaded_strings.append(item)
  
              for event in self._string_load_events:
                  event.set()
      finally:
          with self._lock:
              self._loaded = True
          for event in self._string_load_events:
              event.set()
  
imports: from __future__ import annotations
  import datetime
  import os
  import threading
  from abc import ABCMeta, abstractmethod
  from asyncio import get_running_loop
  from typing import AsyncGenerator, Iterable, Sequence
label_desc: Use image node_id 2 for calling the ThreadedHistory obj's underlying member method code with example usage: obj._in_load_thread() without return types