code: def setUp(self):
      super().setUp()
  
      if threading.current_thread() != threading.main_thread():
          return
      test_name = self._current_test_name()
      test_fn = getattr(self, test_name)
      self.exception_queue = queue.Queue()
      self.threads = [
          Thread(
              target=self._run, args=(test_fn, rank, self.world_size)
          )
          for rank in range(self.world_size)
      ]
      for t in self.threads:
          t.start()
  
file_path: CrypTen/test/multithread_test_case.py
imports: import queue
  import sys
  import threading
  import unittest
  from functools import wraps
  from threading import Thread
  import crypten
label_desc: Use image node_id 8 for calling the MultiThreadTestCase obj's underlying member method code with example usage: obj.setUp() without return types