Partage
  • Partager sur Facebook
  • Partager sur Twitter

Multiprocessing sur Python...

J'ai besoin d'aide pour comprendre comment utiliser multiprocessing

    18 novembre 2019 à 16:37:38

    hello,
    je cherche à comprendre comment utiliser le module multiprocessing présent sur python depuis le 3.4...
    j'ai besoin que mon script python soit utilisé sur tous les cœurs et pas seulement un car il demande beaucoup de ressource et je pensais qu'en faisans simplement :
    `
    if __name__ == "__main__":
        multiprocessing.freeze_support()
        multiprocessing.set_start_method('spawn')
        p1 = multiprocessing.Process(target = reverseString, args=())
        p1.start()
        p2 = multiprocessing.Process(target = IndexErrorCheck, args=())
        p2.start()
        p3 = multiprocessing.Process(target = StringGenerator, args=())
        p3.start()
        p4 = multiprocessing.Process(target = main)
        p4.start()
        p1.join()
        p2.join()
        p3.join()
        p4.join()
    `
    cela marcherait mais malheureusement non… A noter que mon script comporte d'autres parties que je peux envoyer si besoin...
    merci par avance d'une éventuelle réponse...

    -
    Edité par TitouDem 18 novembre 2019 à 16:39:29

    • Partager sur Facebook
    • Partager sur Twitter
      18 novembre 2019 à 20:43:12

      Bonjour. Le GIL (Global Interpreter Lock) t'empêche de faire cela. CPython permet de simuler ce comportement, mais en réalité ce n'est pas possible pour pouvoir donner certaines garanties sur la mémoire.
      • Partager sur Facebook
      • Partager sur Twitter

      typage structurel ftw

        19 novembre 2019 à 8:13:29

        digammaF a écrit:

        Bonjour. Le GIL (Global Interpreter Lock) t'empêche de faire cela. CPython permet de simuler ce comportement, mais en réalité ce n'est pas possible pour pouvoir donner certaines garanties sur la mémoire.


        Son code utilise le module multiprocessing (et pas threading) qui crée plusieurs processus et permet donc d'utiliser plusieurs cores en parallèle.
        • Partager sur Facebook
        • Partager sur Twitter
          20 novembre 2019 à 10:21:58

          PascalOrtiz a écrit:

          digammaF a écrit:

          Bonjour. Le GIL (Global Interpreter Lock) t'empêche de faire cela. CPython permet de simuler ce comportement, mais en réalité ce n'est pas possible pour pouvoir donner certaines garanties sur la mémoire.


          Son code utilise le module multiprocessing (et pas threading) qui crée plusieurs processus et permet donc d'utiliser plusieurs cores en parallèle.

          exactement ! Seulement je ne comprends pas comment utiliser le module malgré la doc python etc...



          • Partager sur Facebook
          • Partager sur Twitter
            20 novembre 2019 à 10:42:19

            Comme tu fais ça a l'air OK, après il faut partager les tâches d'une bonne manière.
            • Partager sur Facebook
            • Partager sur Twitter
              20 novembre 2019 à 18:33:49

              thelinekioubeur a écrit:

              Comme tu fais ça a l'air OK, après il faut partager les tâches d'une bonne manière.

              Oui mais lorsque je l’execute cela me mets erreur...

              • Partager sur Facebook
              • Partager sur Twitter

              Multiprocessing sur Python...

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown