docstr: The actor is ready to start new episode,
  but blocking until training thread call actor_ready_event.set()
docstr_tok: ["The","actor","is","ready","to","start","new","episode",",","but","blocking","until","training","thread","call","actor_ready_event.set","(",")"]
code: def _new_ready_actor(self):
      """
  
      The actor is ready to start new episode,
      but blocking until training thread call actor_ready_event.set()
      """
      actor_ready_event = threading.Event()
      self.ready_actor_queue.put(actor_ready_event)
      logger.info(
          "[new_avaliabe_actor] approximate size of ready actors:{}".format(
              self.ready_actor_queue.qsize()
          )
      )
      actor_ready_event.wait()
  
imports: import os
  import parl
  import queue
  import six
  import threading
  import time
  import numpy
  from actor import Actor
  from opensim_model import OpenSimModel
  from opensim_agent import OpenSimAgent
  from parl.utils import logger, summary, get_gpu_count
  from replay_memory import ReplayMemory
  from parl.utils.window_stat import WindowStat
  from parl.remote.client import get_global_client
  from parl.utils import machine_info
label_desc: Use image node_id 3 for calling the Learner obj's underlying member method code with example usage: obj._new_ready_actor() without return types