Windows RuntimeError Using Multiprocessing
Cette erreur se produit lors de la tentative de lancement de processus multitraitement Python sous Windows sans utiliser l'idiome d'initialisation approprié.
Dans la question, un programme Python tente de lancer des threads et des processus à partir d'un module séparé mais rencontre une RuntimeError. La cause est que les sous-processus Windows importent implicitement le module principal lors de l'initialisation. Sans la garde appropriée, cela conduit à la création récursive de sous-processus.
Solution :
Pour résoudre l'erreur, il est nécessaire d'ajouter un if name == '__main__' garde dans le module principal pour empêcher plusieurs instances de processus.
Module principal modifié (testMain.py) :
if __name__ == '__main__': import parallelTestModule extractor = parallelTestModule.ParallelExtractor() extractor.runInParallel(numProcesses=2, numThreads=4)
Dans cette version modifiée, le module principal vérifie explicitement s'il s'agit du processus principal avant d'exécuter le code parallèle. Cela garantit que les sous-processus ne sont pas créés de manière récursive et évite le RuntimeErorr.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!