code: def test():
      NUMBER_OF_PROCESSES = 4
      TASKS1 = [(mul, (i, 7)) for i in range(20)]
      TASKS2 = [(plus, (i, 8)) for i in range(10)]
  
      # Create queues
      task_queue = Queue()
      done_queue = Queue()
  
      # Submit tasks
      list(map(task_queue.put, TASKS1))
  
      # Start worker processes
      for i in range(NUMBER_OF_PROCESSES):
          Process(target=worker, args=(task_queue, done_queue)).start()
  
      # Get and print results
      print("Unordered results:")
      for i in range(len(TASKS1)):
          print("\t", done_queue.get())
  
      # Add more tasks using `put()` instead of `putMany()`
      for task in TASKS2:
          task_queue.put(task)
  
      # Get and print some more results
      for i in range(len(TASKS2)):
          print("\t", done_queue.get())
  
      # Tell child processes to stop
      for i in range(NUMBER_OF_PROCESSES):
          task_queue.put("STOP")
  
file_path: multiprocess/py3.12/examples/ex_workers.py
imports: import time
  import random
  from multiprocess import current_process, Process, freeze_support
  from multiprocess import Queue
label_desc: Use image node_id 5 for calling a global function with example usage: test() without return types