Это, безусловно, зависит от того, какой вариант использования вы имеете в виду, но обычно для параллельной обработки функций с pool
из multiprocessing
он работает хорошо, и я использую его регулярно. Например:
import multiprocessing as mp
pool = mp.Pool(mp.cpu_count())
# f is your function and L the list of items you want to apply f to
result = pool.map(f, L)
pool.quit()
pool.join()