code: def test_connect_and_create_actor_in_multiprocessing_without_connected_in_main_process(
      self,
  ):
      if _IS_WINDOWS:
          # In windows, creating master in multiprocessing will raise the error:
          # `TypeError: cannot serialize '_io.TextIOWrapper' object`
          return
  
      port = get_free_tcp_port()
  
      # start the master
      master_exit_event = multiprocessing.Event()
      master_proc = multiprocessing.Process(
          target=self._create_master, args=(port, master_exit_event)
      )
      master_proc.start()
  
      time.sleep(1)
  
      # start the worker
      worker_exit_event = multiprocessing.Event()
      worker_proc = multiprocessing.Process(
          target=self._create_worker, args=(port, worker_exit_event)
      )
      worker_proc.start()
  
      proc1 = multiprocessing.Process(
          target=self._connect_and_create_actor,
          args=("localhost:{}".format(port),),
      )
      proc2 = multiprocessing.Process(
          target=self._connect_and_create_actor,
          args=("localhost:{}".format(port),),
      )
      proc1.start()
      proc2.start()
  
      proc1.join()
      proc2.join()
  
      self.assertRaises(AssertionError, self._create_actor)
      worker_exit_event.set()
      master_exit_event.set()
      worker_proc.join()
      master_proc.join()
  
imports: import unittest
  import parl
  import time
  import threading
  import multiprocessing
  from parl.remote.master import Master
  from parl.remote.worker import Worker
  from parl.remote.client import disconnect
  from parl.utils import get_free_tcp_port, _IS_WINDOWS
label_desc: Use image node_id 6 for calling the TestCluster obj's underlying member method code with example usage: obj.test_connect_and_create_actor_in_multiprocessing_without_connected_in_main_process() without return types