ual é a melhor maneira de dividir enormes loops aninhados em 8 (ou mais) processos usando Pytho

desta vez estou enfrentando um problema de "design". Usando Python, eu implementei um algoritmo matemático que usa 5 parâmetros. Para encontrar a melhor combinação desses 5 parâmetros, usei um loop aninhado de 5 camadas para enumerar todas as combinações possíveis em um determinado intervalo. O tempo que leva para terminar parecia estar além da minha expectativa. Então acho que é hora de usar o multithreading ...

A tarefa no núcleo de loops aninhados é cálculo e economia. No código atual, o resultado de cada cálculo é anexado a uma lista e a lista será gravada em um arquivo no final do program

Desde que eu não tenho muita experiência em multithreading em nenhuma linguagem, para não mencionar Python, gostaria de pedir algumas dicas sobre qual deve ser a estrutura para esse problema. Ou seja, como os cálculos devem ser atribuídos aos encadeamentos dinamicamente e como os encadeamentos salvam resultados e depois combinam todos os resultados em um arquivo. Espero que o número de threads possa ser ajustáve

ualquer ilustração com código será muito úti

muito obrigado pelo seu tempo, eu aprecio isso.

#

Atualização do 2º dia: obrigado por todas as respostas úteis, agora eu sei que é multiprocessamento em vez de multithreading. Sempre confundo esses dois conceitos, porque acho que, se for multithread, o sistema operacional usará automaticamente vários processadores para executá-lo quando disponível. Vou encontrar tempo para ter uma experiência prática com o multiprocessamento hoje à noit

questionAnswers(3)

yourAnswerToTheQuestion