Примечание. У меня недостаточно знаний по этой теме, поэтому я могу делать некоторые наивные предположения.
Предположим, у вас есть функция, выполняющая блокирующий ввод-вывод. Вам нужно запустить эту функцию n раз.
Если бы вы просто создавали n потоков (используя модуль threading) и запускали их одновременно, сработало бы простое использование GIL для управления потоками (на основе ввода-вывода) вместо использования модуля multiprocessing.pool? управлять подпроцессами?