Por que é importante proteger o loop principal ao usar o joblib.Parallel?

Os documentos do joblib contêm o seguinte aviso:

No Windows, é importante proteger o loop principal do código para evitar a geração recursiva de subprocessos ao usar o joblib.Parallel. Em outras palavras, você deve escrever um código como este:

import ....

def function1(...):
    ...

def function2(...):
    ...

... if __name__ == '__main__':
    # do stuff with imports and functions defined about
    ...

Nenhum código deve ser executado fora dos blocos "if __name__ ==‘ __main__ ’", apenas importações e definições.

Inicialmente, eu assumi que isso era apenas para evitar casos estranhos ocasionais em que uma função passava parajoblib.Parallel chamou o módulo recursivamente, o que significa que geralmente é uma boa prática, mas geralmente desnecessária. No entanto, não faz sentido para mim por que isso seria apenas um risco no Windows. Além disso,esta resposta parece indicar que a falha na proteção do loop principal resultou na execução do código várias vezes mais lento do que seria para um problema não recursivo muito simples.

Por curiosidade, executei o exemplo super-simples de um loop paralelamente embaraçoso a partir dos documentos do joblib sem proteger o loop principal em uma caixa do Windows. Meu terminal foi enviado com o seguinte erro até o fechar:

ImportError: [joblib] Attempting to do parallel computing without protecting your import on a system that does not suppo
rt forking. To use parallel-computing in a script, you must protect you main loop using "if __name__ == '__main__'". Ple
ase see the joblib documentation on Parallel for more information

Minha pergunta é, e a implementação do joblib no Windows exige que o loop principal seja protegido em todos os casos?

Desculpas se esta é uma pergunta super básica. Como sou novo no mundo da paralelização, posso estar perdendo alguns conceitos básicos, mas não consegui encontrar esse problema explicitamente explicado em nenhum lugar.

Finalmente, quero observar que isso é puramente acadêmico; Eu entendo porque égeralmente boas práticas escrever o código dessa maneira e continuará a fazê-lo, independentemente do joblib.