Существует ли класс пула для рабочих потоков, аналогичный модулю многопроцессорности класс пула?
Мне нравится, например, простой способ распараллеливать функцию отображения
def long_running_func(p):
c_func_no_gil(p)
p = multiprocessing.Pool(4)
xs = p.map(long_running_func, range(100))
однако я хотел бы сделать это без накладных расходов на создание новых процессов.
Я знаю о GIL. Тем не менее, в моей функции usecase, функция будет связанной с IO функцией C, для которой оболочка python освободит GIL до фактического вызова функции.
Нужно ли мне писать собственный пул потоков?