code: def submit(self, fn, /, *args, **kwargs):
      with self._shutdown_lock:
          if self._broken:
              raise BrokenProcessPool(self._broken)
          if self._shutdown_thread:
              raise RuntimeError(
                  "cannot schedule new futures after shutdown"
              )
          if _global_shutdown:
              raise RuntimeError(
                  "cannot schedule new futures after "
                  "interpreter shutdown"
              )
  
          f = _base.Future()
          w = _WorkItem(f, fn, args, kwargs)
  
          self._pending_work_items[self._queue_count] = w
          self._work_ids.put(self._queue_count)
          self._queue_count += 1
          # Wake up queue management thread
          self._executor_manager_thread_wakeup.wakeup()
  
          if self._safe_to_dynamically_spawn_children:
              self._adjust_process_count()
          self._start_executor_manager_thread()
          return f
  
imports: import os
  from concurrent.futures import _base
  import queue
  import multiprocessing
  import multiprocessing.connection
  from multiprocessing.queues import Queue
  import threading
  import weakref
  from functools import partial
  import itertools
  import sys
  from traceback import format_exception
label_desc: Use image node_id 6 for calling the ProcessPoolExecutor obj's underlying member method code with example usage: obj.submit() and returns: f