parameters: (func, iterable, chunksize=1)
docstring: Chop iterable into chunks and submit them to a thread pool.
  
      For very long iterables using a large value for chunksize can make
      the job complete much faster than using the default value of 1.
  
      Return an unordered iterator of the results.
docstring_summary: Chop iterable into chunks and submit them to a thread pool.
docstring_tokens: Chop iterable into chunks and submit them to a thread pool .
function: def _map_multithread(func, iterable, chunksize=1):
      # type: (Callable[[S], T], Iterable[S], int) -> Iterator[T]
      """Chop iterable into chunks and submit them to a thread pool.
  
      For very long iterables using a large value for chunksize can make
      the job complete much faster than using the default value of 1.
  
      Return an unordered iterator of the results.
      """
      with closing(ThreadPool(DEFAULT_POOLSIZE)) as pool:
          return pool.imap_unordered(func, iterable, chunksize)
function_tokens: def _map_multithread ( func , iterable , chunksize = 1 ) : # type: (Callable[[S], T], Iterable[S], int) -> Iterator[T] with closing ( ThreadPool ( DEFAULT_POOLSIZE ) ) as pool : return pool . imap_unordered ( func , iterable , chunksize )