class_docstr: Thread that handles experience generation (worker.sample() loop).
code: def __init__(self, rollout_worker, send_fn):
      super().__init__()
      self.daemon = True
      self.rollout_worker = rollout_worker
      self.send_fn = send_fn
  
imports: import logging
  import threading
  import time
  from typing import Union, Optional
  from enum import Enum
  import ray.cloudpickle
  from ray.rllib.env.external_env import ExternalEnv
  from ray.rllib.env.external_multi_agent_env import ExternalMultiAgentEnv
  from ray.rllib.env.multi_agent_env import MultiAgentEnv
  from ray.rllib.policy.sample_batch import MultiAgentBatch
  from ray.rllib.utils.annotations import PublicAPI
  from ray.rllib.utils.typing import MultiAgentDict, EnvInfoDict, EnvObsType, EnvActionType
label_desc: Use image node_id 1 to create a new _LocalInferenceThread object from inherited base classes: threading with example: obj = _LocalInferenceThread(rollout_worker, send_fn)