code: def _multi_thread_download(inputs, num_workers):
      with fou.ProgressBar(total=len(inputs), iters_str="files") as pb:
          with multiprocessing.dummy.Pool(num_workers) as pool:
              for _ in pool.imap_unordered(_do_s3_download, inputs):
                  pb.update()
  
file_path: fiftyone/fiftyone/utils/aws.py
imports: import logging
  import multiprocessing.dummy
  import os
  from urllib.parse import urlparse
  import boto3
  import botocore
  import eta.core.utils
  import fiftyone.core.utils
label_desc: Use image node_id 5 for calling a global function with example usage: _multi_thread_download(inputs, num_workers) without return types