code: def _init_threading(self, function, params={}, num_threads=10):
          
          q = Queue(maxsize=0) # TODO: find something appropriate
          for i in range(num_threads):
              worker = Thread(target=function, args=(q, params))
              worker.setDaemon(True)
              worker.start()
          return q
docs: Initialize queue and threads
  
          :param function:
          :param params:
          :param num_threads:
          :return: