code: def test_idle_process_reuse_multiple(self):
      executor = self.executor
      assert executor._max_workers <= 5
      if (
          self.get_context().get_start_method(allow_none=False)
          == "fork"
      ):
          raise unittest.SkipTest(
              "Incompatible with the fork start method."
          )
      executor.submit(mul, 12, 7).result()
      executor.submit(mul, 33, 25)
      executor.submit(mul, 25, 26).result()
      executor.submit(mul, 18, 29)
      executor.submit(mul, 1, 2).result()
      executor.submit(mul, 0, 9)
      self.assertLessEqual(len(executor._processes), 3)
      executor.shutdown()
  
imports: import os
  import sys
  import threading
  import time
  import unittest
  from concurrent import futures
  from concurrent.futures.process import BrokenProcessPool
  from test import support
  from test.support import hashlib_helper
  from .executor import ExecutorTest, mul
  from .util import ProcessPoolForkMixin, ProcessPoolForkserverMixin, ProcessPoolSpawnMixin, create_executor_tests, setup_module
label_desc: Use image node_id 9 for calling the ProcessPoolExecutorTest obj's underlying member method code with example usage: obj.test_idle_process_reuse_multiple() without return types