/ / Encadeamentos encadeados do Python podem atrapalhar outros encadeamentos se não houver recursos compartilhados? - python, multithreading, python-3.x, python-multithreading

Os encadeamentos do Python podem atrapalhar outros encadeamentos se não houver recursos compartilhados? - python, multithreading, python-3.x, python-multithreading

Estou pensando em utilizar o Python para chamar váriosdlls que executam coisas como acessar a LAN (no Windows) ou fazer solicitações HTTP. Essas dlls podem estar mal escritas e ficarem presas. Minha primeira pergunta é, se o isolamento dessas chamadas de dll em threads do Python irá garantir que o thread principal do Python não fique preso? Minha segunda pergunta é se o Python pode matar um thread se a DLL ficar presa em um loop infinito?

Eu sei que eu poderia resolver isso, lançando as dlls em seus próprios processos, mas eu preferiria ter apenas um único processo.

Eu poderia usar as últimas versões do Python.

Respostas:

1 para resposta № 1

Seu thread principal ainda será responsivo se outro thread estiver emitindo uma chamada de bloqueio. Ainda assim, terminar um tópico nunca é realmente limpo e pode deixar uma bagunça por aí. Veja a documentação do MSDN para TerminateThread para esse assunto.

Com a introdução do módulo de subprocesso, quais são suas preocupações quando se trata de usar vários processos?